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

Me parece que si se integra la posibilidad de que el usuario pueda cambiar desde el navegador el número o los números con lo que desea jugar, es decir el numero mínimo o de partida del juego y el número máximo hasta donde llegaría el juego sería genial!

Por esto quiero compartir la solución que le di al desafío la cual integra de una manera mas dinámica la posibilidad de que el usuario eliga entre que rango de datos quiere jugar. Es mi primera vez se que pueden haber errores pero lo que hice funciono y quiero compartírselos.

Bendiciones.

let numeroSecreto = 0;
let numeroUsuario = 0;
let numeroUsuarioMinimo = 0;
let numeroUsuarioMaximo = 0;
let intentos = 1;
//let palabraVeces = 'vez';
maximoIntentos = 3

alert ('Bienvenido al juego del número secreto');

numeroUsuarioMinimo = parseInt(prompt('Ingrese el numero mínimo desde donde quiere empezar el juego'));
numeroUsuarioMaximo = parseInt(prompt('Ingrese el numero máximo hasta donde llegará el juego'));

numeroSecreto = Math.floor(Math.random() * (numeroUsuarioMaximo - numeroUsuarioMinimo + 1)) + numeroUsuarioMinimo;
console.log(numeroSecreto);


while (numeroUsuario != numeroSecreto) {

    numeroUsuario = parseInt(prompt(`Ingrese un numero entre ${numeroUsuarioMinimo} & ${numeroUsuarioMaximo}`));


    if (numeroUsuario == numeroSecreto) {
        alert ('Acertaste! ' + ' el número secreto es ' + numeroSecreto + ' Y ingresaste ' + numeroUsuario);
        alert (`Lo hiciste en ${intentos} ${intentos == 1 ? 'vez' : 'veces'}`);
     } else {
        if (numeroUsuario > numeroSecreto) {
            alert ('Ingresaste ' + numeroUsuario +' el número secreto es menor');
        } else {
            alert ('ingresaste ' + numeroUsuario + ' El número secreto es mayor')
        }
        //Incrementamos el contador
        intentos++;

        //palabraVeces = "veces";
        if (intentos > maximoIntentos) {
            alert ('Llegaste al número máximo de intentos')
            break;  
        }
    }
}
1 respuesta

Justo llegué a una solución muy parecida y luego me di cuenta que no era lo que nos habían preguntado, jaja. Yo me ahorré un par de líneas de código, mira:

let numeroLimite = parseInt(prompt("¿Qué número será el límite al cual quieres adivinar?"));
let numeroSecreto = Math.floor(Math.random()*numeroLimite)+1; //math.floor baja al núm entero y math.random me da un núm pseudorandom, +1 me permite que tome el 10
let numeroUsuario = 0;
let intentos = 1;
let intentosMaximos = parseInt(prompt("¿Cuál será el límite de intentos?"));

while (numeroUsuario != numeroSecreto) {
    numeroUsuario = parseInt(prompt(`Me indicas un número entre 1 y ${numeroLimite}, por favor:`)); //parse int lo convierte a num

    console.log(typeof(numeroUsuario)); // typeof me indica que tipo de dato es

    if (numeroUsuario == numeroSecreto) {
        alert(`Acertaste, el número es ${numeroUsuario}, lo lograste en ${intentos} ${intentos == 1 ? "intento" : "intentos"} :)`); 
        // ${condicional ? if true : else}
    } else {
        if (numeroUsuario > numeroSecreto){
            alert("El número es menor");
        } else {
            alert("El número es mayor");
        }
        intentos++; 
        if (intentos > intentosMaximos) {
            alert(`Llegaste al número máximo de ${intentosMaximos} intentos :(`);
            break
        }
    }
}