Hola, para el desafio del juego, de descubrir el numero secreto , yo entendí que se quería que el rango donde se incluyera el numero secreto también debía ser aleatorio, probablemente me compliqué, lo probé y funciona, pero luego de ver la solución que dieron los profesores en realidad era sencilla. Quedé preocupada por mi tipo de razonamiento porque creo que entre mas sencillas son las cosas es mejor. Aquí comparto el código por si me desean hacer alguna retroalimentación o tienen sugerencias para mi, gracias.
//Variables
//generar numeros aleatorios para el valor min y maximo del rango Generar dos números aleatorios para definir el rango
let rangoMin = Math.floor(Math.random()*1000)+1;
let rangoMax = Math.floor(Math.random()*1000)+1;
// Generar un número aleatorio dentro del rango determinado
function getRandomInt(rangoMin, rangoMax) {
return Math.floor(Math.random() * (rangoMax - rangoMin + 1)) + rangoMin;
}
let rango = getRandomInt(rangoMin, rangoMax);
let numeroSecreto = Math.floor(Math.random()*rango)+1;
let numeroUsuario = 0;
let intentos = 1;
//let palabraVeces = 'vez';
let maximosIntentos = 3;
console.log(numeroSecreto);
while (numeroUsuario != numeroSecreto) {
numeroUsuario = parseInt(prompt(`Me indicas un número entre 0 y ${rango} por favor`));
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 > maximosIntentos) {
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');
}
}
Entonces quedó numero secreto aleatorio y rango aleatorio