Le comparto una solucion , en el curso de Lógica de programación: sumérgete en la programación con JavaScript donde el profesor menciono como mejoraria el codigo para que el rango del numero no sea siempre entre 1 y 10. Mi codigo basicamente , hace elegir el rango del juego donde se quiere jugar y con eso , halla la proporcionalidad de los intentos
let rangoMin = parseInt(prompt("Ingrese el rango minimo del numero secreto donde quieres jugar"))
let rangoMax = parseInt(prompt("Ingrese el rango maximo del numero secreto donde quieres jugar"))
let numeroSecreto = Math.floor(Math.random()*rangoMax);
let numeroUsuario = 0;
let intentos = 1;
let maxIntentos = Math.floor((rangoMax - rangoMin + 1)*3/10 + 1);
console.log(maxIntentos);
while (numeroSecreto != 0) {
if (numeroSecreto >= rangoMin) {
console.log(numeroSecreto);
while (numeroUsuario != numeroSecreto ) {
do {
numeroUsuario = parseInt(prompt(`Me indicas un numero entre ${rangoMin} y ${rangoMax} por favor:`));
} while (numeroUsuario < rangoMin || numeroUsuario > rangoMax);
console.log(typeof(numeroUsuario));
if (numeroUsuario == numeroSecreto) {
alert(`Adivinaste el numero secreto: ${numeroUsuario}. Lo hicistes en ${intentos} ${intentos ==1 ? 'vez' : 'veces' }`);
}
else {
if (numeroUsuario > numeroSecreto) {
alert("el numero secreto es menor");
} else {
alert("el numero secreto es mayor");
}
intentos++;
//palabraVeces = 'veces';
if (intentos > maxIntentos) {
alert(`Llegastes al numero maximo de ${maxIntentos} intentos`);
break;
}
}
}
break;
}
numeroSecreto = Math.floor(Math.random()*rangoMax);
}