Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
4
respuestas

Problema en el código, si acierto a la primera o segunda sigue saliendo acertó en el intento 3

Qué tal! Tengo una duda, a pesar de que acierto a la primera o segunda me sigue diciendo que "acertó en el intento 3" por qué sucede eso?

<meta charset="UTF-8">

<h1>JUEGO DE ADIVINACIÓN</h1>
<br>
<br>

<script>

    function saltarlinea() {
        document.write("<br><br><br>");

    }

    function imprimir(frase) {
        document.write(frase)
        saltarlinea();
    }

    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){
            alert("usted acertó en el intento " + intentos + " el número pensando era " + numeroPensado);
            break;

        }

        else {
            alert("usted erró")

        }

        contador++
    }

    if (numeroLanzado == numeroPensado){
        imprimir("Usted acertó, en el intento " + intentos + " el número pensado era " + numeroPensado);

    }

    else {
        imprimir("Usted erró, el número pensado era " + numeroPensado);
    }

    imprimir("Fin")

</script>
4 respuestas

No pongas la variable intentos pon la variable contador.

El problema esta en que estas usando la variable "intentos" y por ende esta declarada como 3 siempre, el que va a cambiar de valor es la variable "contador" por que es la que incrementa hasta que logres atinarle al numero adivinado

<meta charset="UTF-8">

<h1>JUEGO DE ADIVINACIÓN</h1>
<br>
<br>

<script>

    function saltarlinea() {
        document.write("<br><br><br>");

    }

    function imprimir(frase) {
        document.write(frase)
        saltarlinea();
    }

    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){
            alert("usted acertó en el intento " + contador + " el número pensando era " + numeroPensado);
            break;

        }

        else {
            alert("usted erró")

        }

        contador++
    }

    if (numeroLanzado == numeroPensado){
        imprimir("Usted acertó, en el intento " + contador + " el número pensado era " + numeroPensado);

    }

    else {
        imprimir("Usted erró, el número pensado era " + numeroPensado);
    }

    imprimir("Fin")

</script>

Gracias yo también tenia el mismo error, saludos

solución!

la variable contador es la que esta incrementando hasta ser igual con la variable intentos la cual esta declarada desde el inicio y tiene un valor de 3 es por eso que si requieres mostrar al usuario en que intento puso ese numero o le atino debes usar la variable contador