Buenas noches, Intenté hacerle las mejoras al programa del juego de la adivinación, pero aunque en el tercer alert imprime que se erró después de 3 intentos, al final me sale un mensaje que dice que se tuvieron 4 intentos.
Buenas noches, Intenté hacerle las mejoras al programa del juego de la adivinación, pero aunque en el tercer alert imprime que se erró después de 3 intentos, al final me sale un mensaje que dice que se tuvieron 4 intentos.
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-10"));
if (numeroPensado == numeroLanzado){
//corregir aquí
alert("acertaste después de " + contador + " intentos, el número pensado era " + numeroPensado);
break;
}
else {
alert("usted erró después del : "+contador+" intento");
}
contador++;
}
if (numeroPensado == numeroLanzado){
//corregir aquí
imprimir("usted acertó, después de " + contador + " intentos, el número pensado era " + numeroPensado);
}
else {
imprimir("usted erró después de "+contador+" intentos, el número pensado era " + numeroPensado);
}
imprimir("fin");
Es porque en el ciclo while
, lo ultimo que hace es agregar uno al contador, entonces en el intento 3 hace todo el proceso y luego suma 1. El contador ahora vale 4 y por eso el ciclo while
se detiene y continúa con el resto.
En tu programa imprimes un texto, entonces el número actual del contador es 4.
Supongo que si agregas un if(contador == 4)
significa que no acertó en los intentos que le diste, puedes poner el mensaje que quieras dentro del if
Debe haber maneras más elegantes de hacerlo, pero por ahora es lo único que se me ocurre.. Saludos.
José, yo creo que si deseas mostrar el número de intento que erró o acertó lo debes mostrar en los alert que están dentro del while.
while(contador <= intentos){ var numerolanzado = parseInt(prompt("Ingrese un # entre 0 y 10 ")); if(numeropensado == numerolanzado){ alert("Ud. acertó en el intento. " + contador + " el número pensado era " + numeropensado); break; } else{ alert(" ¡Ud. erró! en su Intento "+ contador) } contador++ }
Cordial saludo
y el final simplemente
if (numeropensado != numerolanzado) { imprimir(" El número pensado era " + numeropensado)