Mi solución con algunos apuntes:
alert('Bienvenido al juego del número secreto');
//Se le pedirá el mínimo valor que puede tomar el número secreto y el máximo valor que puede tomar el número secreto
let minimo = parseInt(prompt('Ingresa el valor entero mínimo del número secreto:'));
let maximo = parseInt(prompt('Ingresa el valor entero máximo del número secreto:'));
/*
Lógica para mis random entre intervalos solicitados:
Funciona tanto para intervalos positivos como negativos.
min = -6
max = 7
0 <= random < 1
mult((max+1)-min)
0 <= random < 14
+min
-6 <= random < 8
floor (parte entera)
-6 <= random <= 7
min <= random <= max
*/
let numeroSecreto = Math.floor((Math.random() * ((maximo+1)-minimo)+minimo)); // Genera un número secreto aleatorio entre el mínimo y el máximo ingresados por el usuario
//let numeroSecreto = Math.floor(Math.random() * 10) + 1; // Genera un número secreto aleatorio entre 1 y 10
//let numeroSecretoMasSeguro = window.crypto.getRandomValues(new Uint32Array(1))[0] % 10 + 1; // Genera un número secreto aleatorio entre 1 y 10
let maximoIntentos = parseInt(prompt('Ingresa el valor máximo de intentos que deseas:'));
let intento = parseInt(prompt(`Elige un número entre ${minimo} y ${maximo}`));
console.log('Valor de intento:', intento);
console.log('Resultado de la comparación:', intento == numeroSecreto);
let contadorIntentos = 1;
console.log('Primer intento');
while (intento != numeroSecreto) {
console.log('Intento incorrecto, valor ingresado:', intento);
if (intento < numeroSecreto) {
alert('Incorrecto. El número secreto es mayor.');
} else {
alert('Incorrecto. El número secreto es menor.');
}
console.log('Resultado de la comparación:', intento == numeroSecreto);
if (intento!= numeroSecreto && contadorIntentos == maximoIntentos) {
alert(`Llegaste al número máximo de intentos.`);
break;
}
//Incrementamos el contador de intentos cuando el usuario falla
contadorIntentos++;
// Solicita un nuevo intento al usuario
intento = prompt(`Elige un número entre ${minimo} y ${maximo}`);
// Agregué un console.log para verificar el valor de "contadorIntentos" en cada iteración
console.log('Número de intentos:', contadorIntentos);
}
if (intento == numeroSecreto) {
alert(`Adivinaste, el número secreto era: ${numeroSecreto}. Intentaste ${contadorIntentos} ${contadorIntentos > 1 ? 'veces.' : 'vez.'}`);
}
else {
alert(`Fallaste. Intentaste ${contadorIntentos} ${contadorIntentos > 1 ? 'veces' : 'vez'}, el número secreto era: ${numeroSecreto}.`);
}