// Variables
let numeroUsuario = 0;
let intentos = 1;
let maximosIntentos = 3;
// Solicitar número límite y validarlo
let numeroLimite = parseInt(
prompt("Me indicas el máximo número que desearías generar:")
);
// Validar entrada del límite
if (isNaN(numeroLimite) || numeroLimite < 1) {
alert("Por favor, ingresa un número válido mayor a 0");
} else {
let numeroSecreto = Math.floor(Math.random() * numeroLimite) + 1;
//Verificar por consola la asignación correcta
console.log("Número secreto: " + numeroSecreto);
console.log("Número límite: " + numeroLimite);
while (numeroUsuario !== numeroSecreto) {
numeroUsuario = parseInt(
prompt(`Me indicas un número entre 1 y ${numeroLimite}, por favor:`)
);
if (
isNaN(numeroUsuario) ||
numeroUsuario < 1 ||
numeroUsuario > numeroLimite
) {
alert(`Entrada inválida. Ingresa un número entre 1 y ${numeroLimite}.`);
continue; // volver a pedir el número sin contar como intento
}
if (numeroUsuario === numeroSecreto) {
alert(
`✅ ¡Acertaste! El número era: ${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.");
}
intentos++;
if (intentos > maximosIntentos) {
alert(
`⛔ Llegaste al número máximo de ${maximosIntentos} intentos. El número era ${numeroSecreto}.`
);
break;
}
}
}
}