Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
4
respuestas

[Proyecto] Ejercicio número secreto con cantidad escogida por usuario

let numeroUsuario = 0;

let cantidadDeNumeros = parseInt(prompt("Con que cantidad de números quieres jugar?"));  // con esta variable el jugador ingresa la cantidad máxima de números con los que quiere jugar

let numeroSecreto = Math.floor(Math.random()*cantidadDeNumeros)+1;
let intentos = 1;
let maximoIntentos = 5;

while(numeroUsuario != numeroSecreto){

    let numeroUsuario = prompt(`Escribe un número entre 1 y ${cantidadDeNumeros}: `);

    if ( numeroUsuario== numeroSecreto) {
        alert (`Acertaste con el número ${numeroUsuario} en ${intentos} ${intentos == 1 ? "vez" : "veces"}`);
        intentos = 1;

    } else {
        if(numeroUsuario>numeroSecreto){
            alert("El numero secreto es menor");
        } else {
                alert("El numero secreto es mayor")      
        }
        
        intentos++;
        
        if (intentos==maximoIntentos){
            alert (`GAME OVER con ${intentos} intentos`);
            break;
        }
    

    } 
    
}
4 respuestas

Hola Jean Sebastian Peña Rincon, segun yo puedo obsevar veo estas dos situaciones a mejorar en el codigo:

  • let numeroUsuario = prompt(Escribe un número entre 1 y ${cantidadDeNumeros}: ); ( es esta parte no puedes declarar la variable otra vez detro del ciclo While solo la llamas para reasignarle un valor, osea que el no la crees simplemente llamala.

*if ( numeroUsuario== numeroSecreto) { alert (Acertaste con el número ${numeroUsuario} en ${intentos} ${intentos == 1 ? "vez" : "veces"}); intentos = 1; (En esta condicion no pusiste el cierre ni de las comilla,ni del parentesis y el punto y coma.

  • es que la variable intentos se incrementa en 1 en la condición numeroUsuario != numeroSecreto. Esto significa que, incluso si el usuario acierta el número secreto en el primer intento, la variable intentos tendrá un valor de 2 al final del bucle.

Espero y te sirva de ayuda compañero.

por que no solo lo multiplicampos x 1000? let numeroSecreto = Math.floor(Math.random()*1000)+1;

Seria una buena obsion tambien.

misma duda