Hola, Alberto, espero que estés bien
Parece que estás trabajando en un juego para adivinar un número entre 1 y 100. Tu código se ve bastante bien, pero hay un par de cosas que podrías considerar para mejorarlo:
Validación de entrada: Asegúrate de que el usuario ingrese un número válido. Puedes agregar una verificación para asegurarte de que numeroUsuario esté dentro del rango esperado (1 a 100) y que sea un número.
Control de intentos: Actualmente, el contador de intentos se incrementa después de verificar si el número es correcto o no. Podrías mover intentos++ al principio del bucle para que cuente cada intento, incluso si es el último.
Aquí tienes una versión ajustada del código:
let numeroSecreto = Math.floor(Math.random() * 100) + 1;
let numeroUsuario = 0;
let intentos = 0;
let intentosMaximos = 5;
console.log(numeroSecreto);
while (numeroUsuario !== numeroSecreto) {
numeroUsuario = parseInt(prompt("Ingresa un número entre 1 y 100 por favor:"));
if (isNaN(numeroUsuario) || numeroUsuario < 1 || numeroUsuario > 100) {
alert("Por favor, ingresa un número válido entre 1 y 100.");
continue;
}
intentos++;
if (numeroUsuario === numeroSecreto) {
alert(`¡Acertaste, el número es: ${numeroUsuario}. Lo hiciste en ${intentos} ${intentos === 1 ? 'vez' : 'veces'}!`);
break;
} else {
if (numeroUsuario > numeroSecreto) {
alert('El número secreto es menor');
} else {
alert('El número secreto es mayor');
}
}
if (intentos >= intentosMaximos) {
alert(`Llegaste al número máximo de ${intentosMaximos} intentos`);
break;
}
}
Espero que estas sugerencias te sean útiles. ¡Espero haber ayudado y buenos estudios!