Al querer mejorar el juego que habia echo de adivinacion no pude. Lo podria haber simplificado y me funciona. Pero quise dejarlo como lo habia echo y mejorarlo con lo nuevo que vimos y me trabe. Me marea tanto if y else creo que va por ahi el error. Comparto lo que tengo haber si alguien puede ayudarme. Gracias!
<meta charset="UTF-8">
<h1>JUEGO: ADIVINAR NUMERO SECRETO</h1>
<script>
function saltarLinea() {
document.write("<br>");
document.write("<br>");
document.write("<br>");
}
function imprimir(frase) {
document.write(frase);
saltarLinea();
}
function sortea(n) {
return Math.round(Math.random() * n);
}
var n = parseInt(prompt("Buenas! \nTe pido un numero para limitar el rango en el que deberas adivinar. \nEl rango quedaria de 0 hasta el numero elegido: "));
var numeroSecreto = sortea(n);
var intentos = 3;
var contadorIntentos = 1;
while (contadorIntentos <= intentos) {
var numeroPensado = parseInt(prompt("Muy bien. Ahora trata de adivinar el número secreto entre 0 y " + n + ". \nTen en cuenta que solo contaras con 3 intentos. \nEl número secreto es el: "));
if (numeroPensado == numeroSecreto) {
alert("¡Acertaste! El número secreto era el: " + numeroSecreto);
break;
} else {
if (numeroPensado > numeroSecreto) {
alert("¡Erraste! El número secreto es menor a: " + numeroPensado );
//numeroPensado = parseInt(prompt("Probemos de nuevo. Trata de adivinar el número secreto entre 0 y " + n + ". \nTen en cuenta que solo te quedan " + (Intentos - contadorIntentos) + " intentos. \nEl número secreto es el: "));
} else {
alert("¡Erraste! El número secreto es mayor a: " + numeroPensado );
//numeroPensado = parseInt(prompt("Probemos de nuevo. Trata de adivinar el número secreto entre 0 y " + n + ". \nTen en cuenta que solo te quedan " + (Intentos - contadorIntentos) + " intentos. \nEl número secreto es el: "));
}
} contadorIntentos++;
}
if (numeroPensado == numeroSecreto) {
alert("¡Acertaste! El número secreto era el: " + numeroSecreto);
} else {
if (numeroPensado > numeroSecreto) {
alert("¡Erraste! El número secreto era menor a: " + numeroPensado );
//numeroPensado = parseInt(prompt("Probemos de nuevo. Trata de adivinar el número secreto entre 0 y " + n + ". \nTen en cuenta que solo te quedan " + (Intentos - contadorIntentos) + " intentos. \nEl número secreto es el: "));
} else {
alert("¡Erraste! El número secreto era mayor a: " + numeroPensado );
//numeroPensado = parseInt(prompt("Probemos de nuevo. Trata de adivinar el número secreto entre 0 y " + n + ". \nTen en cuenta que solo te quedan " + (Intentos - contadorIntentos) + " intentos. \nEl número secreto es el: "));
}
}
alert ("Perdiste! El número secreto era el: " + numeroSecreto)
</script>
si alquien me ayuda a ver el error le agradezco. gracias!
Termine eliminando esa parte de código y quedándome con el ultimo alert que le indica al usuario que "erro al numero" luego de superar el limite de intentos. Vi un par de líneas de código comentadas también, si tu intención era incluirlas en tu programa, las mismas no funcionan porque todas tienen escrita la variable "intentos" en mayúscula.