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

Desafío Final

//Con límite inferior 0
let max = 0;
while(max <= 0){
    max = prompt("Por favor, ingrese el límite máximo de la adivinación:");
};

let numeroSecreto = Math.floor((Math.random ()*max)+1);                 
let numeroUsuario = 0;                
let intentos = 1;  
let maximosIntentos = 0;
while(maximosIntentos <= 0){
    maximosIntentos = prompt("Para finalizar, ingrese el número de intentos que quiere realizar.");
};

while (numeroUsuario != numeroSecreto) {                               
    numeroUsuario = parseInt(prompt(`Listo, juguemos, adivina el número entre 0 y ${max} por favor:`));   
                                   
    console.log(typeof(numeroUsuario));                              
    if (numeroUsuario == numeroSecreto) {  
        alert(`Acertaste, el número es: ${numeroUsuario}. Lo lograste 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 maximo de ${maximosIntentos} ${maximosIntentos == 1 ? "intento" : "intentos"}.`);
            alert(`El número secreto era ${numeroSecreto}.`);
            break;
        }
          }
}

Anécdota, el siguiente código era el que tenia planeado hacer desde un principio, es decir que la persona misma escogiera el rango de números en los que quería adivinar el número, pero tuve problemas haciendolo, resulta que me paso lo que nos advirtieron el profe Leonardo y el profe Christian, al hacer un prompt y pedirle al usuario que escoja los rangos superior e inferior para el juego de adivinación, la consola toma ese número como string en vez de number, por eso es importante la función parseInt ya que me permitio que la consola tome los numeros como number y así realizar las respectivas operaciones matemáticas sin errores. Estuve toda la tarde mirando donde estaba el error e incluso me rendí, por suerte recorde ese pedacito final que nos advirtieron tener cuidado, jajaja. Bueno, espero que quienes miren este post les haya servido esto o al menos recuerden lo importante que son los fundamentos a la hora de programar y como con esto podemos solucionar la mayoría de errores que se nos presenten.

// Con Límte inferior deseado
let minimo = 0;
while(minimo <= 0){
    minimo = parseInt(prompt("Por favor, ingrese el límite mínimo de la adivinación: "));
};

let maximo = 0;
while(maximo <= 0){
    maximo = parseInt(prompt("Ahora, ingrese el límite máximo de la adivinación: "));
};

let numeroSecreTo = Math.floor((Math.random ()*(1 + maximo - minimo)+minimo));                 
let numeroUsuarIo = 0;                
let inTentos = 1;  
let maximosInTentos = 0;
while(maximosInTentos <= 0){
    maximosInTentos = prompt("Para finalizar, ingrese el número de intentos que quiere realizar: ");
};

while (numeroUsuarIo != numeroSecreTo) {                               
    numeroUsuarIo = parseInt(prompt(`Listo, juguemos, adivina el número entre ${minimo} y ${maximo} por favor: `));   
                                   
    console.log(typeof(numeroUsuarIo));                              
    if (numeroUsuarIo == numeroSecreTo) {  
        alert(`Acertaste, el número secreto es: ${numeroUsuarIo}. Lo lograste en ${inTentos} ${inTentos == 1 ? "intento" : "intentos"}.`);
    } 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 maximo de ${maximosInTentos} ${maximosInTentos == 1 ? "intento" : "intentos"}.`);
            alert(`El número secreto era ${numeroSecreTo}.`);
            break;
        }
          }
}
1 respuesta

Hola!

Gracias por compartir tu código con nosotros. es excelente ver cómo vas avanzando en el curso. Te animo a seguir practicando y experimentando con lo que has aprendido hasta ahora.

Recuerda que las actividades no es necesario que sean publicadas en el foro. Este espacio está principalmente destinado para resolver dudas específicas relacionadas con el contenido de los cursos, lo que nos permite optimizar el tiempo de respuesta para todos los alumnos. Si tienes comentarios, opiniones o deseas compartir ideas, te sugiero interactuar con la comunidad en nuestro Discord, donde podrás intercambiar pensamientos y recibir feedback de manera más dinámica.

Sigue adelante con tu trabajo, y no dudes en regresar al foro si tienes alguna pregunta o necesitas ayuda.

Gracias Nuevamente!

Saludos,

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!