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

Alguno tiene una solucion mas optima hice que el usuario pudiera poner numero minimo maximo y numero de intentos pero no se como poder optimizarlo

let numeroMaximo = parseInt(prompt("Ingresa el número máximo para el juego:"));
let numeroMinimo = parseInt(prompt("Ingresa el número mínimo para el juego:"));

if (numeroMaximo < numeroMinimo) {
    alert("El número máximo debe ser mayor al número mínimo");
    numeroMinimo = parseInt(prompt("Ingresa el número mínimo otra vez:"));
    if (numeroMaximo > numeroMinimo) {
        alert("Vamos a jugar");
    }
} else {
    alert("Vamos a jugar");
}

let numeroSecreto = Math.floor(Math.random() * (numeroMaximo - numeroMinimo + 1)) + numeroMinimo;
let intentos = 1;
let maximosIntentos = parseInt(prompt("Ingresa el número máximo de intentos:"));
let numeroUsuario;

while (numeroUsuario != numeroSecreto) {
    numeroUsuario = parseInt(prompt(`Me indicas un número entre ${numeroMaximo} y ${numeroMinimo} por favor:`));

    if (isNaN(numeroUsuario) || numeroUsuario < numeroMinimo || numeroUsuario > numeroMaximo) {
        alert("Por favor ingresa un número válido dentro del rango especificado.");
        continue; // Salta al siguiente ciclo si el número es inválido
    }

    console.log(typeof numeroUsuario);
    
    if (numeroUsuario == numeroSecreto) {
        alert(`Acertaste, el número es: ${numeroUsuario}. Lo hiciste en ${intentos} ${intentos == 1 ? "vez" : "veces"}`);
        break; // Sale del bucle al acertar
    } 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 secreto era ${numeroSecreto}`);
            break; // Sale del bucle al alcanzar el máximo de intentos
        }
    }
}
1 respuesta

Yo no había pensado en establecer número máximo sino cambiar directamente en Math.floor(Math.random()*100+1); Luego cambier el promp ('Indicar un número entre 1 y 100');