Hola, lo que yo hice fue cambiar la tematica de intentos por vidas, en este caso se van restando a medida que vas utilizandolas hasta perder cuando llegas a 0 vidas, tambien implemente un modo de dificultades y el juego se adapta a ello, se los comparto por si alguno tiene curiosidad, tambien quite la variable 'intentos maximos' ya que en mi caso no me era de utilidad, gracias por leer.
//Elegir dificultad
alert('Seleccione la dificultad');
let dificultad = prompt('Facil (1-10) Normal(1-100) Dificil(1-1000)');
//Variables
let numeroSecreto = 0;
let numeroSecretoFacil = Math.floor(Math.random()*10)+1;
let numeroSecretoNormal = Math.floor(Math.random()*100)+1;
let numeroSecretoDificil = Math.floor(Math.random()*1000)+1;
let numeroUsuario = 0;
let vidas = 1;
//Numero secreto equivalente a la dificultad
if (dificultad == 'Facil'){
numeroSecreto = numeroSecretoFacil;
vidas = 3;
} else if(dificultad=='Normal'){
numeroSecreto = numeroSecretoNormal;
vidas = 6;
} else {
numeroSecreto = numeroSecretoDificil;
vidas = 9;
}
alert(`Tienes ${vidas} vidas`);
//Comienza el juego
while (numeroUsuario != numeroSecreto) {
numeroUsuario = parseInt(prompt(`Me indicas un número entre ${dificultad == 'Facil' ? '1 y 10' : dificultad == 'Normal' ? '1-100' : '1-1000'}`));
if (numeroUsuario == numeroSecreto) {
//Acertamos, fue verdadera la condición
alert(`Acertaste, el número es: ${numeroUsuario}. Te ${vidas == 1 ? 'quedo' : 'quedaron'} ${vidas} ${vidas == 1 ? 'vida' : 'vidas' }`);
} else {
if (numeroUsuario > numeroSecreto) {
alert('El número secreto es menor');
} else {
alert('El número secreto es mayor');
}
//Restamos vida por cada error
vidas--;
//Se acaba el juego al llegar a 0 vidas
if (vidas == 0) {
alert('Te quedaste sin vidas');
break;
}
}
}
//Revelamos el numero secreto en la consola
console.log(numeroSecreto);