Buenas Noches Compañeros.
A continuacion adjunto el desarrollo del desafio propuesto, en este implemente la funcionalidad para que el usuario ingrese el valor minmo del rango y el valor maximo del rango, adicionalmente puede indicar el numero de intentos, para cada valor ingresado por el usuario se realiza una validacion de datos con la finalidad de que no se deje en blanco o se ingresen caracteres.
// Definimos Variables
let numeroSecreto = 0;
let numeroUsuario;
let intentos = 1;
let maxIntentos = 3;
let minimoRango = 1;
let maximoRango = 10;
while(true){
minimoRango = prompt('Ingrese el extremo Inferior del rango en el que quiere jugar.');
if (minimoRango === ""){
alert('Por favor ingrese un Numero');
} else if (isNaN(Number(minimoRango))){
alert('Ingrese solo Numeros Por favor');
} else {
minimoRango = parseInt(minimoRango);
break;
}
}
while(true){
maximoRango = prompt('Ingrese el extremo Superior del rango en el que quiere jugar.');
if (maximoRango === ""){
alert('Por favor ingrese un Numero');
} else if (isNaN(Number(maximoRango))){
alert('Ingrese solo Numeros Por favor');
} else {
maximoRango = parseInt(maximoRango);
break;
}
}
numeroSecreto = Math.floor(Math.random()* (maximoRango - minimoRango + 1)) + minimoRango;
while(true){
maxIntentos = prompt('Ingrese el numero de intentos que desea tener para hallar el numero secreto');
if (maxIntentos === ""){
alert('Por favor ingrese un Numero');
} else if (isNaN(Number(maxIntentos))){
alert('Ingrese solo Numeros Por favor');
} else {
maxIntentos = parseInt(maxIntentos);
break;
}
}
while (numeroUsuario !== numeroSecreto) {
numeroUsuario = prompt(`Ingresa un numero entre ${minimoRango} y ${maximoRango} por favor`);
// Validacion de numeroUusario
if (numeroUsuario === ""){
alert('Por favor ingrese un numero');
continue;
} else if (isNaN(Number(numeroUsuario))){
alert('Ingrese solo Numeros Por favor');
continue;
}
numeroUsuario = parseInt(numeroUsuario);
// Condicional if else para comparar el numero secreto con el numero ingresado por el usuario
if (numeroUsuario === numeroSecreto) {
alert(`Adivinaste el numero secreto!: ${numeroSecreto}\nLo lograste en ${intentos} ${intentos == 1 ? 'intento.': 'Intentos.'}`);
} else {
intentos++;
if (intentos > maxIntentos){
alert(`Perdiste!, llegaste al numero maximo de intentos: ${maxIntentos}\nEl numero secreto es: ${numeroSecreto}`);
break;
}
numeroUsuario > numeroSecreto ? alert('El numero secreto es menor') : alert('El numero secreto es mayor');
}
}