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

DESAFÍO: JUEGO DE NÚMERO SECRETO

Hasta el momento me han gustado mucho las clases y estos desafíos me hacen meterme de lleno a la programación. Siento como si fuera un juego, por lo bien que lo paso haciendo esto. Para mi poca experiencia esto me motiva cada vez más. Acá abajo dejo mi código del desafío:

//DESAFÍO: JUEGO DE NÚMERO SECRETO
//variables
let maximoAleatorios = parseInt(prompt("¿Cúal será su rango máximo de números aleatorios?")) //rango máximo de números aleatorios
let maximoIntentos = parseInt(prompt("¿Que valor desea agregar como máximo de intentos?")); //valor máximo de intentos
let numeroSecreto = Math.floor(Math.random()*(maximoAleatorios))+1;  //maximoAleatorio es el rango maximo de numeros aleatorios, el +1 es para llegar a ese ultimo numero
let numeroUsuario = 0; //número ingresado por usuario
let intentos = 1; //cantidad de intentos
//en consola
console.log("Rango máximo de números aleatorios", maximoAleatorios);
console.log("Valor máximo de intentos: ",maximoIntentos);
console.log("Número secreto: ",numeroSecreto);
//inicia el ciclo while hasta encontrar el número secreto  
while (numeroUsuario != numeroSecreto)
{
    numeroUsuario = parseInt(prompt(`Dame un número entre 1 a ${maximoAleatorios}: `)); //se guarda el valor en la variable, de tipo Entero 
    
    //este codigo realiza la comparación
    if (numeroUsuario == numeroSecreto)
    {
    //Si se cumple la condición
    alert (`¡ACERTASTE! El número secreto es ${numeroUsuario}.\nLo hiciste en ${intentos} ${intentos == 1 ? 'intento' : 'intentos'}.`);
    console.log(`Usuario ha ganado en el intento número [${intentos}].\nEl número secreto es: `,numeroUsuario); //guarda y muestra el valor del número ingresado y ganador en la consola
    }
    else
    {
        //Si NO se cumple la condición
        if (numeroUsuario > numeroSecreto)
        {
        alert(`El número secreto es menor que ${numeroUsuario}.\nIntento número [${intentos}].`);
        console.log(`Número ingresado por usuario en intento número [${intentos}]: `,numeroUsuario); //guarda y muestra el valor del número ingresado en la consola
        }
        else
        {
        alert(`El número secreto es mayor que ${numeroUsuario}.\nIntento número [${intentos}].`);
        console.log(`Número ingresado por usuario en intento número [${intentos}]: `,numeroUsuario); //guarda y muestra el valor del número ingresado en la consola   
        }
        intentos++;
            if (intentos > maximoIntentos)
            {
            //muestra alertas indicando que ha perdido el juego
            alert(`¡GAME OVER!\nLlegaste al número máximo de ${maximoIntentos} ${maximoIntentos == 1 ? 'intento' : 'intentos'}.`);
            alert(`El número secreto es ${numeroSecreto}.`);
            console.log("¡GAME OVER!\nNúmero de intentos: ",intentos);
            break; //sale del ciclo while
            }
    }
}
1 respuesta

¡Hola!

Me alegra mucho que estés disfrutando de las clases y los desafíos de programación. Es genial que te sientas motivado con esta experiencia, ¡así es como se aprende mejor!

Respecto al desafío del juego de número secreto, el cambio necesario para ampliar el rango de números aleatorios es ajustar la fórmula que genera el número secreto. Actualmente, el rango es de 1 a maximoAleatorios. Si quisieras cambiarlo para que sea entre 1 y 100, por ejemplo, solo tendrías que modificar la línea:

let numeroSecreto = Math.floor(Math.random()*(maximoAleatorios))+1;

a:

let numeroSecreto = Math.floor(Math.random()*(100))+1;

Así, el número secreto se generará entre 1 y 100. Si quisieras que el rango sea entre 1 y 1000, solo tendrías que cambiar el 100 por 1000 en la fórmula.

Espero que esta explicación te ayude a resolver el desafío. ¡Sigue disfrutando y practicando!

Espero haber ayudado y buenos estudios!