Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
2
respuestas

DUDA con la variable "intento"

Hola, me pude percatar que al poner la variable "intento" al acertar el numero pensado no me aparecia nada, asi que lo cambie por contador pero aun asi me salia que tenia valor de 3 y opte por quitar esa variable del ALERT, y asi fue como mi codigo logro funcionar. Lo que tengo duda es si esta bien que lo haya hecho o no, lo adjunto para que alguien me pueda dar retroalimentacion, gracias!

<meta charset="UTF-8">


<H1>PROGRAMA JUEGO DE ADIVINACION</H1>

<script> 


    function saltarlinea() { 

          document.write("<br>") 
          document.write("<br>") 
          document.write("<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 numero entre 0-10"))

        if (numeroPensado == numeroLanzado){

        alert("Usted acerto el numero pensado era " + numeroPensado);
        break;

        }

         else  {

             alert("usted erro");
         }    

         contador++;
    }     

    if (numeroPensado == numeroLanzado){

        imprimir("Usted acerto el numero pensado era " + numeroPensado);

    }    

    else {

        imprimir(" Usted erro, el numero pensado era " + numeroPensado);

    }

    imprimir("FIN");

</script>
2 respuestas

Hola, Lilia

Una pregunta: aunque la persona no acierte en el tercer intento, ¿lo presentó en la alerta como el tercer intento? por ejemplo, ¿lo hizo bien en el segundo intento, pero se mostró como si fuera el tercer intento?

Hola Lilia,

El problema con tu codigo es el siguiente:

El bucle while esta corectamente definido, se ejecuta como maximo 3 veces.

El problema esta cuando se acierta el numero secreto. Asi escrito cuando se acierta, se sale del bucle While luego de generar el mensaje, pero a continuacion se repite la pregunta sobre si el numero ingresado es igual al secreto, y como el secreto no se modifico desde su salida del bucle while se vuelve a emitir el mensaje del numero.

Dentro del while

if (numeroPensado == numeroLanzado){

    alert("Usted acerto el numero pensado era " + numeroPensado);
    break;

    }

Luego del While

if (numeroPensado == numeroLanzado){

    imprimir("Usted acerto el numero pensado era " + numeroPensado);

}   

Sin que hubiese cambiado el valor del numeroPensado, y genera dos veces el mensaje por acierto.

Espero haber sido de ayuda, 

Te saludo