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

Solución al desafio

La solución que le di es el siguiente

//variables


let numeroUsuario = 0;
let intentos = 1;
let palabraVeces = "vez";
let Maximosintentos = 3;
let numeroSecreto = 0;
/*el While nos ayudara a crear un LOOPS - BUCLES, Estamos diciendo 
"Mientras el numUsuario sea diferente al secreto, continua" */

let respuesta = prompt("¿Deseas otra dificultad de 1 a tu elección? si o no");

if (respuesta == "si") {
    alcance = parseInt(prompt("¿Ingrese el numero maximo a adivinar - de esto dependera la dificultad?"));    
    numeroSecreto = Math.floor(Math.random()*alcance)+1;
}else{
    numeroSecreto = Math.floor(Math.random()*10)+1;
}

console.log(alcance);
console.log(numeroSecreto);

while (numeroUsuario != numeroSecreto) { // (!=) significa "DIFERENTE"
    numeroUsuario = parseInt(prompt(`Me indicas un numero entre el 1 y ${alcance} por favor:"`));
    //parseIntPROMPT hace que el valor retornado sea entero

    console.log(typeof(numeroUsuario));//typeof es para ver que es el valor
    /*
    Este código realiza
    la comparación
    */
    if (numeroUsuario == numeroSecreto) {
        //fue verdadera la condición
        alert(`Acertaste, el numero el número secreto es: ${numeroSecreto} lo lograste al intento ${intentos} ${palabraVeces}`);
    } else {
        /*Esto se llama CONDICIONALES ANIDADAS
        Pues es una condición dentro de otra condición*/
        if (numeroUsuario > numeroSecreto) {
            alert('El número secreto es menor');
        }else{
            alert('El número secreto es mayor');
        }
    }
    //se incrementa el contador cuando falla en adivinar el numero secreto
    //intentos = intentos + 1; //este codigos se puede simplificar como:
    //forma 2: intentos +=1;
    intentos++; //actualmente este es el mas usado
    //Eso se llama Operador TERNARIO

    palabraVeces = 'veces';

    if (intentos > Maximosintentos) { //si intentos es mayor a 3 entonces ...
        alert(`espera ... usastes tus ${Maximosintentos} intentos D:`);
        break; //el break es para ROMPER el ciclo / bucle
    }
}
//Se puede usar este de abajo tambien en vez del de la linea de codigo 17
//alert(`Tu número de intentos fue: ${intentos} bien hecho!`);
1 respuesta

Buena, yo sólo le cambié las lineas: let numeroSecreto = Math.floor(Math.random() * 1000) + 1; let adivinanza = parseInt(prompt("Adivina el número secreto (entre 1 y 1000):"));

y además cambié la línea:

const intentosMaximos = 10;

Así el número máximo será mil y con un máximo de 10 intentos por usuario.