//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;
}
}
}