2
respostas

Jogo adivinhação "while"

Quando eu digito o código abaixo, as funções de document.write somente são apresentadas ou depois de acertar a questão ou de ser feitas todas as tentativas. É como se a função mostra só funcionasse depois do while ser acabado, queria saber onde está errado.

<meta charset="UTF-8">

<script>

    function pulaLinha() {

        document.write("<br>");
        document.write("<br>");
}

    function mostra(frase) {

        document.write(frase);
        pulaLinha();
}

var numeroPensado = Math.round(Math.random() * 10);

var tentativas = 1;

while(tentativas <= 3) {

    var chute = parseInt(prompt("Digite seu chute!"));

    if(chute == numeroPensado) {

        mostra("Você acertou!");
        break;
    } else {

        mostra("Você Errou");
    }

    tentativas++;
}
mostra ("FIM");

</script>
2 respostas

Oi, Pedro, tudo bem?

Eu testei o seu código e ele esta funcionando. Para facilitar eu testei com número menor de possibilidades, coloquei: var numeroPensado = Math.round(Math.random() * 2);

E, quando acertei, apareceu que eu acertei, assim como quando eu errei :}

Então, no meu caso o programa pede as 3 tentativas e não mostra nenhuma saída, ou seja, ele não mostra o "Você errou", aí depois de vc colocar as 3 tentativas ele mostra as 3 respostas seguidas de "Você errou" (caso de fato tenha errado as 3 respostas). Ele não mostra a resposta enquanto vc manda as tentativas. Não sei se é problema por usar o Notepad++ ou pela versão do chrome, mas no meu caso deu essa diferenças.