SALUDOS COMPAÑERA, El código original es funcional y está bien estructurado, pero puede mejorarse añadiendo intentos múltiples y una validación más robusta. Con estas mejoras, el juego será más interactivo y entretenido para los usuarios.
**Ejemplo de Mejora del codigo **
alert("¡Bienvenido/a al juego del número secreto!");
// Pedir el rango máximo y validarlo
let rangoMaximo = parseInt(prompt("Ingresa el número máximo para el rango del juego (por ejemplo, 100 o 1000):"));
rangoMaximo = (isNaN(rangoMaximo) || rangoMaximo <= 1) ? 10 : rangoMaximo; // Si no es válido, usar 10
// Generar el número secreto
let numeroSecreto = Math.floor(Math.random() * rangoMaximo) + 1;
// Número de intentos permitidos
let intentosMaximos = 5;
let intentos = 0;
let adivinado = false;
while (intentos < intentosMaximos && !adivinado) {
let eleccion = parseInt(prompt(`Intento ${intentos + 1}/${intentosMaximos}: Adivina el número entre 1 y ${rangoMaximo}:`));
if (isNaN(eleccion) || eleccion < 1 || eleccion > rangoMaximo) {
alert("¡Eso no es un número válido! Intenta nuevamente.");
} else {
intentos++;
if (eleccion === numeroSecreto) {
alert(`¡Adivinaste en ${intentos} intentos! `);
adivinado = true;
} else {
let pista = eleccion < numeroSecreto ? "mayor" : "menor";
alert(`No adivinaste. El número secreto es ${pista}. Te quedan ${intentosMaximos - intentos} intentos.`);
}
}
}
if (!adivinado) {
alert(`Se acabaron los intentos. El número secreto era ${numeroSecreto}. ¡Inténtalo de nuevo!`);
}