EL desafio consiste en modificar el código actual del juego, donde el sistema genera un número aleatorio entre 1 y 10, para que el usuario pueda jugar con un rango diferente, por ejemplo, entre 1 y 100 o entre 1 y 1000:
let numeroMaximoPosible=10;
// Solicito al usuario el número máximo del rango
do {
numeroMaximoPosible = parseInt(prompt("Ingresa el número máximo del rango (Ejemplo: 10, 100, 1000):"));
} while (isNaN(numeroMaximoPosible) || numeroMaximoPosible < 1);
// Generar número secreto dentro del rango definido
let numeroSecreto = (Math.floor(Math.random() * numeroMaximoPosible)) + 1;
let numeroUsuario = 0;
let intentos = 1;
let maximosIntentos = 6; // Se mantiene el límite de intentos
// Bucle para jugar hasta que el usuario acierte o supere los intentos
while (numeroUsuario !== numeroSecreto) {
numeroUsuario = parseInt(prompt(`Intento ${intentos}/${maximosIntentos} - Ingresa un número entre 1 y ${numeroMaximoPosible}:`));
// Validar entrada
if (isNaN(numeroUsuario) || numeroUsuario < 1 || numeroUsuario > numeroMaximoPosible) {
alert(`Entrada inválida. Ingresa un número entre 1 y ${numeroMaximoPosible}.`);
continue;
}
// Verificar si el usuario acertó
if (numeroUsuario === numeroSecreto) {
alert(`¡Acertaste! El número era ${numeroUsuario}. Lo lograste en ${intentos} ${intentos === 1 ? 'intento' : 'intentos'}.`);
break;
} else {
alert(numeroUsuario > numeroSecreto ? "El número secreto es menor." : "El número secreto es mayor.");
intentos++;
// Verificar si se superó el límite de intentos
if (intentos > maximosIntentos) {
alert(`Llegaste al máximo de ${maximosIntentos} intentos. El número secreto era ${numeroSecreto}.`);
break;
}
}
}
Agregué un do while para asegurar que el usuario ingrese un número válido como límite máximo. Usé tmplate strings y un operador ternario para mejorar los mensajes. También añadí una validación que evita que el juego siga si el usuario ingresa un número inválido. Por último, ahora el juego termina automáticamente cuando se alcanzan los intentos máximos, mostrando un mensaje con el número secreto.