Este es mi código, como ven, el usuario desde el navegador puede alterar el número de intentos y los números máximos. Sin embargo, no encuentro la manera de reiniciar el juego.
// variables
let numeroUsuario = 0;
let intentos = 1;
let numeroMaximo = parseInt(prompt("Ingresa en número máximo de números enteros para el juego (ejemplo: 100): "));
let numeroSecreto = Math.floor(Math.random()*numeroMaximo)+1;
let maximoIntentos = parseInt(prompt("Ingresa los intentos que quieres tener para adivinar:"));
while(numeroUsuario != numeroSecreto) {
console.log("Número máximo: " ,numeroMaximo);
console.log("Máximo intentos:",maximoIntentos);
console.log("Número secreto", numeroSecreto);
numeroUsuario = parseInt(prompt(`Adivina el número que estoy pensando del 1-${numeroMaximo}`)); //parseInt, vuelve la variable de tipo númerica en lugar de string
//muestra el log en la consola del navegador la variable guardada
console.log(numeroUsuario);
//compara el numero ingresado por el usuario vs el puesto en el código, usando == pues es el comparativo
if(numeroUsuario == numeroSecreto) {
alert(`Acertaste el número que es: ${numeroSecreto}. Lo hiciste en ${intentos} ${intentos == 1 ? 'vez' : 'veces'}`); // ? condiciona, como el if de excel : si no se cumple
// alert('¡Acertaste el número que es: ' + numeroSecreto + "! Lo hiciste"); puede ser usado, sin necesidad de separar dentro del alert
break;
}
else { // Aquí todas las condiciones cuando falle en adivinar el usuario
if(numeroUsuario > numeroSecreto) {
alert("El número que diste es mayor al que estoy pensando, intenta uno nuevo");
}
else {
alert("El número que diste es menor al que estoy pensando, intenta uno nuevo");
}
intentos++; // forma reducida de intentos = intentos + 1;
if(intentos > maximoIntentos){
alert(`Llegaste al número máximo de ${maximoIntentos} intentos`);
break;
}
}
}