Solución propuesta
// Función principal para el juego de adivinar el número con máximo de 3 intentos
function adivinaElNumero() {
alert("Bienvenido al juego de adivinar el número!");
// Pedir al usuario el rango de números
let inicio = prompt("Ingresa el número inicial del rango:");
let fin = prompt("Ingresa el número final del rango:");
// Validar y convertir los números ingresados
inicio = parseInt(inicio);
fin = parseInt(fin);
// Verificar que los números ingresados sean válidos
if (isNaN(inicio) || isNaN(fin) || inicio >= fin) {
alert("Por favor, ingresa números válidos donde el inicial sea menor que el final.");
return; // Salir de la función si los números no son válidos
}
// Generar un número aleatorio dentro del rango [inicio, fin]
let numeroAleatorio = Math.floor(Math.random() * (fin - inicio + 1)) + inicio;
console.log(`Número aleatorio generado: ${numeroAleatorio}`);
let intentos = 0;
let adivinanza;
const maxIntentos = 3;
// Iniciar el juego de adivinar con máximo 3 intentos
while (intentos < maxIntentos) {
intentos++;
adivinanza = prompt(`Intento ${intentos}: Adivina el número entre ${inicio} y ${fin}:`);
// Validar y convertir la adivinanza a número
adivinanza = parseInt(adivinanza);
// Verificar si la adivinanza es válida
if (isNaN(adivinanza)) {
alert("Por favor, ingresa un número válido.");
continue; // Saltar esta iteración del bucle si no es un número válido
}
// Comparar la adivinanza con el número aleatorio
if (adivinanza === numeroAleatorio) {
alert(`¡Felicidades! Adivinaste el número ${numeroAleatorio} en ${intentos} intentos.`);
return; // Salir del juego si adivinó correctamente
} else if (adivinanza < numeroAleatorio) {
alert("El número es mayor. Sigue intentando.");
} else {
alert("El número es menor. Sigue intentando.");
}
}
// Si se agotaron los intentos
alert(`Lo siento, has agotado tus ${maxIntentos} intentos. El número era ${numeroAleatorio}.`);
}
// Llamar a la función principal para iniciar el juego
adivinaElNumero();