/* Imaginen que quieran jugar entre 1 y 100, o que el usuario quiera
jugar entre 1 y 1000. ¿Qué cambios serían necesarios para que esta
funcionalidad pueda ser implementada, pueda ser aplicada? */
alert('Bienvenido al numero de la suerte!');
// Se multiplica por 100 para ampliar el maximo numero a encontrar.
let numSuerte = Math.floor(Math.random()*100)+1;
let numUser = 0;
let intentos = 1
//Se agrega la variable maxIntentos desde aqui por temas de mejorabilidad.
let maxIntentos = 5
console.log(numSuerte);
while(numSuerte != numUser){
//parseInt para cambiar el valor string del prompt a un number para evitar problemas de comparabilidad.
numUser = parseInt(prompt('Ingresa el numero que creas es el correcto: '));
if(numSuerte == numUser){
alert(`Felicidades! Acertaste el numero secreto en ${intentos} ${intentos == 1 ? 'intento' : 'intentos'}`);
} else{
if (numUser > numSuerte){
alert('El numero de la suerte es MENOR.');
} else {
alert('El numero de la suerte es MAYOR.');
}
intentos++;
if(intentos >= maxIntentos){
alert('Alcanzaste el numero maximo de intentos. GAME OVER');
break;
} else {
//Agregamos linea para mostrar los intentos que quedan disponibles.
alert(`Aun tienes ${(maxIntentos-intentos)+1} intentos disponibles`);
}
}
}
En este codigo decidí implementar la linea 33 que nos alerta de los intentos restantes antes del GAME OVER, solo tengo una duda, ya que llegué a un buen resultado al momento de restar maxIntentos - intentos y luego sumarle uno... pero no entiendo muy bien si esta correcto hacerlo de esa forma o hay algo que optimizar.