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

Desafio final

alert('Bienvenido al juego del número secreto');
/*let es para declaracion de variables seguido de camelcase , minuscula seguido de may*/

/*DESAFIO, le pedimos al usuario el rango en el cual quiera jugar*/
alert ('Indicame un rango para poder jugar a continuacion');
let rangoUno = parseInt(prompt('Numero inicial: '));
let rangoDos = parseInt(prompt('Numero final: '));
/*para elegir el numero en el rango querido*/
let numeroSecreto = Math.floor(Math.random()*(rangoDos-rangoUno))+rangoUno;
//0 es diferente de 4
let numeroUsuario = 0;
//contador, se inicializa en 1
let intentos = 1;
//para decir vez, veces
//let palabraVeces = 'vez';

let maximosIntentos = 3;


console.log(numeroSecreto);
//loop, bucle, mientras
while (numeroSecreto != numeroUsuario){
    //Agrega un console.log para verificar el valor de "numeroUsuario" despues de la entrada del usuario
    /*Linea alterada*/
    numeroUsuario = parseInt(prompt(`Me indicas un número entre ${rangoUno} y ${rangoDos} por favor:`));


    console.log('Valor de intento:', numeroUsuario);
    /* alert('Hola Mundo'); en parentesis va parametros... siempre se pueden usar comillas simples o dobles*/

    console.log(typeof(numeroUsuario));

    /* Este código realiza la comparación */
    if (numeroUsuario == numeroSecreto) {
        //acertamos, fue verdadera la condicion                            Operador ternario (si intentos es igual a uno? dira vez, si no veces)
        alert(`acertaste, el numero es : ${numeroUsuario}. Lo hiciste en ${intentos}  ${intentos == 1? 'vez' : 'veces'}`);


    } else{
        if (numeroUsuario > numeroSecreto){
            alert('El numero secreto es menor');
        }else{
            alert('El numero secreto es mayor');
        }
        
        //incrementamos el contador cuando no acierta
        //intentos = intentos + 1;
        //intentos +=1;
        intentos ++;
        palabraVeces = 'veces';
        if(intentos > maximosIntentos){
            alert(`llegaste al numero maximo de ${maximosIntentos} intentos`);
            //ruptura forzada
            break;
        }
        //la condicion no se cumplio
            //console.log('El numero secreto era: ' + numeroSecreto);
            //alert ('lo siento, no acertaste el numero');    
        }
        
    }
3 respuestas

Hola Adriana, me parece una muy buena opción para dar la solución a este desafío, pero yo me fui por una más fácil (y creo que la más floja de todas jejeje)

Para la opción de un número de entre 1 a 100, además le daría 5 intentos

//Variables
let numeroSecreto = Math.floor(Math.random()*100)+1;
let numeroUsuario = 0;
let intentos = 1;
let maximosIntentos = 5;

console.log(numeroSecreto)

while (numeroUsuario != numeroSecreto) {
    numeroUsuario = prompt("Me indicas un número entre 1 y 100 por favor:");

    console.log(numeroUsuario);
    if (numeroUsuario == numeroSecreto) {
        alert(`Acertaste, el número es: ${numeroUsuario}. Lo hiciste en ${intentos} ${intentos == 1 ? 'vez' : 'veces'}`);
    } else {
        if (numeroUsuario > numeroSecreto) {
            alert('El número secreto es menor');
        } else {
            alert('El número secreto es mayor');
        }
        intentos++;

       
        if (intentos > maximosIntentos) {
            alert(`Llegaste al número máximo de ${maximosIntentos} intentos`);
            break;
        }
    }
}

Y para la opción de 1 a 1000, le daría 10

//Variables
let numeroSecreto = Math.floor(Math.random()*1000)+1;
let numeroUsuario = 0;
let intentos = 1;
let maximosIntentos = 5;

console.log(numeroSecreto)

while (numeroUsuario != numeroSecreto) {
    numeroUsuario = prompt("Me indicas un número entre 1 y 1000 por favor:");

    console.log(numeroUsuario);
    if (numeroUsuario == numeroSecreto) {
        alert(`Acertaste, el número es: ${numeroUsuario}. Lo hiciste en ${intentos} ${intentos == 1 ? 'vez' : 'veces'}`);
    } else {
        if (numeroUsuario > numeroSecreto) {
            alert('El número secreto es menor');
        } else {
            alert('El número secreto es mayor');
        }
        intentos++;

       
        if (intentos > maximosIntentos) {
            alert(`Llegaste al número máximo de ${maximosIntentos} intentos`);
            break;
        }
    }
}
//Variables
let numeroSecreto = Math.floor (Math.random() * numeroMaxint) + 1;
let numeroUsuario = 0;
let intentos = 1;
let maximosIntentos = 3;
let numeroMaxint = 100

//console.log (numeroSecreto)

while (numeroUsuario != numeroSecreto) {
    // Se usan comillas simples y parseInt para convertir la entrada a número
    numeroUsuario = parseInt(prompt('Me indicas un número entre 1 y $ {numeroMaxint} por favor:'));

    console.log (typeof (numeroUsuario));

    // Este código realiza la comparación
    if (numeroUsuario == numeroSecreto) {
        // Acertamos, fue verdadera la condición.
        // Se usan backticks (`) para poder incluir variables y el operador ternario.
        alert(`¡Acertaste! El número era: ${numeroUsuario}. Lo hiciste en ${intentos} ${intentos == 1 ? 'vez' : 'veces'}.`);
    } else {
        if (numeroUsuario > numeroSecreto) {
            alert('El número secreto es menor.');
        } else {
            alert('El número secreto es mayor.');
        }
        
        // Se incrementa el contador
        intentos++;
        
        // Se comprueba si se superó el máximo de intentos
        if (intentos > maximosIntentos) {
            // Se usan backticks (`) para mostrar la variable maximosIntentos
            alert(`Llegaste al número máximo de ${maximosIntentos} intentos.`); 
            break; // Se termina el juego
        }
    }
}

¡Hola muchachos!
Sus soluciones me parecen buenas igualmente, solo que me puse un poco creativa y quería que el usuario interactuara más con la página pero de acuerdo al instructor sus soluciones también me parecen acertadas

Saludos y gracias por compartir