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

Cómo podría hacer que el juego reinicie pidiendome la info nuevamente, una vez ganado o perdido el juego?

Este es mi código, como ven, el usuario desde el navegador puede alterar el número de intentos y los números máximos. Sin embargo, no encuentro la manera de reiniciar el juego.

    // variables
    let numeroUsuario = 0;
    let intentos = 1;
    let numeroMaximo = parseInt(prompt("Ingresa en número máximo de números enteros para el juego (ejemplo: 100): "));
    let numeroSecreto = Math.floor(Math.random()*numeroMaximo)+1;
    let maximoIntentos = parseInt(prompt("Ingresa los intentos que quieres tener para adivinar:"));

    while(numeroUsuario != numeroSecreto) {  
        console.log("Número máximo: " ,numeroMaximo);
        console.log("Máximo intentos:",maximoIntentos);
        console.log("Número secreto", numeroSecreto);
        
        numeroUsuario = parseInt(prompt(`Adivina el número que estoy pensando del 1-${numeroMaximo}`)); //parseInt, vuelve la variable de tipo númerica en lugar de string
        //muestra el log en la consola del navegador la variable guardada
        console.log(numeroUsuario);
        //compara el numero ingresado por el usuario vs el puesto en el código, usando == pues es el comparativo
        if(numeroUsuario == numeroSecreto) {
            alert(`Acertaste el número que es: ${numeroSecreto}. Lo hiciste en ${intentos} ${intentos == 1 ? 'vez' : 'veces'}`); // ? condiciona, como el if de excel : si no se cumple
            // alert('¡Acertaste el número que es: ' + numeroSecreto + "! Lo hiciste"); puede ser usado, sin necesidad de separar dentro del alert
            break;
        }
        else { // Aquí todas las condiciones cuando falle en adivinar el usuario
            if(numeroUsuario > numeroSecreto) {
                alert("El número que diste es mayor al que estoy pensando, intenta uno nuevo");
            }
            else {
                alert("El número que diste es menor al que estoy pensando, intenta uno nuevo");
            }
            intentos++; // forma reducida de intentos = intentos + 1; 
            if(intentos > maximoIntentos){
                alert(`Llegaste al número máximo de ${maximoIntentos} intentos`);
                break;    
            }
        }
    }
1 respuesta

Puedes hacer una función de reiniciar y setear todos los valores al inicio y llamarla cuando el usuario acierte el número. Espero te sirva saludos