Agregué la funcionalidad de seleccionar el rango y además la funcionalidad de ir diciendo cuantos intentos lleva. Admito que para corregir la lógica del número randómico me fue difícil y me apoyé en chatgpt, donde ví que había que multiplicar el número aleatorio por elrango en vez de por 10.
//Variables //let numeroMaximoPosible = 100; let numeroSecreto let numeroUsuario = 0; let intentos = 1; //let palabraVeces = 'vez'; let maximosIntentos; let minimo, maximo
alert('Elige el rango de números para adivinar') minimo = parseInt(prompt("Adivinar número desde: ")) maximo = parseInt(prompt("Adivinar número hasta: ")) maximosIntentos = parseInt(prompt("¿En cuántos intentos? ")) numeroSecreto = Math.floor(Math.random()*(maximo - minimo+1)); //elige aleatoriamente un número entre 0 y 1, luego lo multiplica por 10, lo redondea por debajo y le suma 1.
while (numeroUsuario != numeroSecreto) {
numeroUsuario = parseInt(prompt(Me indicas un número entre ${minimo} y ${maximo} por favor:
)); //recoge el número a adivinar por el usuario y lo convierte a entero
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. Llevas ${intentos} de ${maximosIntentos} intentos`);
} else {
alert(`El número secreto es MAYOR. Llevas ${intentos} de ${maximosIntentos} intentos`);
}
//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. El número era ${numeroSecreto}`);
break;
}
//La condición no se cumplió
//alert('Lo siento, no acertaste el número');
}
}