Me pareció un curso muy práctico, cada vez que se enseñaban conceptos nuevos, se aplicaban de inmediato, lo cual fue muy útil para reforzar lo aprendido.
Quería compartir mi solución al ejercicio. le añadí la funcionalidad para que el usuario pueda definir el rango de números que desea adivinar, así como también la cantidad de intentos disponibles.
let numeroUsuario = 0;
let intentos = 1;
alert(
"A continuacion debes indicar el rango de numeros que quieres intentar para adivinar el numero"
);
let rango1 = parseInt(prompt("Indicame desde que numero deseas intentar"));
let rango2 = parseInt(prompt("Indicame hasta que numero deseas intentar"));
let maximoIntentos = parseInt(
prompt("Indicame la cantidad de intentos posibles que quieres tener")
);
let numeroSecreto = Math.floor(Math.random() * (rango2 - rango1 + 1)) + rango1;
while (numeroUsuario != numeroSecreto) {
numeroUsuario = parseInt(
prompt(`Me indicas un número entre ${rango1} y ${rango2} por favor:" `)
);
console.log(typeof numeroUsuario);
if (numeroUsuario === numeroSecreto) {
//Acertamos, fue verdadera la condición
alert(
`Acertaste, el número es: ${numeroUsuario}. Lo hiciste en ${intentos} ${
intentos > 1 ? "Intentos" : "Intento"
}`
);
} else {
if (numeroUsuario > numeroSecreto) {
alert("El número secreto es menor");
} else {
alert("El número secreto es mayor");
}
//Incrementamos el contador cuando no acierta
intentos++;
//La condición no se cumplió
//alert('Lo siento, no acertaste el número');
if (intentos > maximoIntentos) {
alert(
`Lo sentimos, haz realizado los ${maximoIntentos} intentos disponibles, el numero secreto era ${numeroSecreto}`
);
break;
}
}
}