Profe Christian, encuentro otro error en el código, dentro del while en el if el número de intentos debe ser igual que el contador mientras que en el else el número de intentos debe incrementar en 1 para que a la hora de que la alerta del acierto muestre el número de intentos que realizó el usuario para acertar, así:
while (contador <= intentos) {
var numeroLanzado = parseInt(prompt("Ingrese un número entre 0 y 10"));
if (numeroPensado == numeroLanzado) {
intentos = contador; //Aquí
alert("¡Ha acertado! El número pensado era: " + numeroPensado + " y acertó en el intento: " + intentos);
break;
} else {
alert("¡Número incorrecto! Inténtelo nuevamente");
intentos--; //Aquí
}
contador++;
}
El código completo se vería así:
<meta charset="UTF-8">
<h1>Adivina el número</h1>
<script>
function saltoLinea() {
document.write("<br>");
}
function imprimir(mensaje) {
document.write(mensaje);
saltoLinea();
}
var numeroPensado = Math.round(Math.random() * 10);
var intentos = 3;
var contador = 1;
while (contador <= intentos) {
var numeroLanzado = parseInt(prompt("Ingrese un número entre 0 y 10"));
if (numeroPensado == numeroLanzado) {
intentos = contador;
alert("¡Ha acertado! El número pensado era: " + numeroPensado + " y acertó en el intento: " + intentos);
break;
} else {
alert("¡Número incorrecto! Inténtelo nuevamente");
intentos--; //Aquí
}
contador++;
}
if (numeroPensado == numeroLanzado) {
imprimir("¡Ha acertado! El número pensado era: " + numeroPensado + " y acertó en el intento: " + intentos);
} else {
imprimir("¡Número incorrecto! El número pensado era: " + numeroPensado);
}
imprimir("Fin");
</script>