Hasta el momento me han gustado mucho las clases y estos desafíos me hacen meterme de lleno a la programación. Siento como si fuera un juego, por lo bien que lo paso haciendo esto. Para mi poca experiencia esto me motiva cada vez más. Acá abajo dejo mi código del desafío:
//DESAFÍO: JUEGO DE NÚMERO SECRETO
//variables
let maximoAleatorios = parseInt(prompt("¿Cúal será su rango máximo de números aleatorios?")) //rango máximo de números aleatorios
let maximoIntentos = parseInt(prompt("¿Que valor desea agregar como máximo de intentos?")); //valor máximo de intentos
let numeroSecreto = Math.floor(Math.random()*(maximoAleatorios))+1; //maximoAleatorio es el rango maximo de numeros aleatorios, el +1 es para llegar a ese ultimo numero
let numeroUsuario = 0; //número ingresado por usuario
let intentos = 1; //cantidad de intentos
//en consola
console.log("Rango máximo de números aleatorios", maximoAleatorios);
console.log("Valor máximo de intentos: ",maximoIntentos);
console.log("Número secreto: ",numeroSecreto);
//inicia el ciclo while hasta encontrar el número secreto
while (numeroUsuario != numeroSecreto)
{
numeroUsuario = parseInt(prompt(`Dame un número entre 1 a ${maximoAleatorios}: `)); //se guarda el valor en la variable, de tipo Entero
//este codigo realiza la comparación
if (numeroUsuario == numeroSecreto)
{
//Si se cumple la condición
alert (`¡ACERTASTE! El número secreto es ${numeroUsuario}.\nLo hiciste en ${intentos} ${intentos == 1 ? 'intento' : 'intentos'}.`);
console.log(`Usuario ha ganado en el intento número [${intentos}].\nEl número secreto es: `,numeroUsuario); //guarda y muestra el valor del número ingresado y ganador en la consola
}
else
{
//Si NO se cumple la condición
if (numeroUsuario > numeroSecreto)
{
alert(`El número secreto es menor que ${numeroUsuario}.\nIntento número [${intentos}].`);
console.log(`Número ingresado por usuario en intento número [${intentos}]: `,numeroUsuario); //guarda y muestra el valor del número ingresado en la consola
}
else
{
alert(`El número secreto es mayor que ${numeroUsuario}.\nIntento número [${intentos}].`);
console.log(`Número ingresado por usuario en intento número [${intentos}]: `,numeroUsuario); //guarda y muestra el valor del número ingresado en la consola
}
intentos++;
if (intentos > maximoIntentos)
{
//muestra alertas indicando que ha perdido el juego
alert(`¡GAME OVER!\nLlegaste al número máximo de ${maximoIntentos} ${maximoIntentos == 1 ? 'intento' : 'intentos'}.`);
alert(`El número secreto es ${numeroSecreto}.`);
console.log("¡GAME OVER!\nNúmero de intentos: ",intentos);
break; //sale del ciclo while
}
}
}