Realizando un estudio de funciones no vistas en las clases, descubrí la función isNaN() que sirve para determinar si un valor es "Not a Number", verifica si un valor no puede ser convertido a un número. Lo cual me permitió posteriormente definir un rango y verificar que lo ingresado por el usuario sea válido. Dejo el código:
//Variables
let numeroSecreto;
let maximo;
let numeroUsuario = 0;
let intentos = 1;
//let palabraVeces = 'vez';
let maximosIntentos = 3;
//Preguntar al usuario el rango de números
maximo = parseInt(prompt("Ingrese el número máximo del rango. (por ejemplo: 10, 100, 1000, etc.):"));
//Validar el número máximo y que sea mayor que 0
while(isNaN(maximo) || maximo<=0){
maximo = parseInt("Ingrese un número válido y mayor que 0:");
}
//Generar el número Secreto
numeroSecreto = Math.floor(Math.random()*maximo)+1;
while(numeroUsuario != numeroSecreto){
numeroUsuario = parseInt(prompt(Me indicas un número entre 1 y ${maximo}:
));
console.log(typeof(numeroUsuario));
if (numeroUsuario == numeroSecreto){
//Acertamos, fue verdadera la condición
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');
}
//Incrementamos el contador cuando no acierta
//intentos = intentos + 1;
//intentos += 1;
intentos++;
palabraVeces = 'veces';
if (intentos > 3){
alert(Llegaste al número máximo de ${maximosintentos} intentos
);
break;
}
//La condición no se cumplió
//alert(Lo siento, no acertaste el número, tu número ingresado fue: ${numeroUsuario}
)
}
}