Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Respuesta al desafio

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;

// Pedir al usuario que adivine
let eleccion = parseInt(prompt(`Adivina el número secreto entre 1 y ${rangoMaximo}:`));

// Validar si la elección es un número válido y mostrar el resultado
isNaN(eleccion) || eleccion < 1 || eleccion > rangoMaximo
    ? alert("¡Eso no es un número válido! Reinicia el juego.")
    : eleccion === numeroSecreto
        ? alert("¡Adivinaste! ¡Felicidades!")
        : alert(`No adivinaste. El número secreto era ${numeroSecreto}. ¡Inténtalo de nuevo!`);
1 respuesta

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!`);
}