2
respostas

Quando eu erro o valor informado não imprime na tela

Aparentemente o programa funciona, mas quando o primeiro prompt captura o valor, não está imprimindo na tela se ele é menor ou maior que o numero que coloquei. A ideia era que através dessas dicas ficasse mais fácil acertar o valor. Somente quando acerto o valor, ou esgosto as 3 tentativas que são impressos na tela o que aconteceu

<meta charset="UTF-8">
<script>

    function pulaLinha() {

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

    function mostra(frase) {

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


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

    var tentativas = 1;

    while(tentativas <= 3) {

        var chute = parseInt(prompt("Já pensei. Qual você acha que é?"));

        if(chute == numeroPensado) {

            mostra("Uau! Você acertou, pois eu pensei no " + numeroPensado);
            break;
        } else {

            if(chute > numeroPensado) {

                mostra("Você errou! Seu chute é maior que o número pensado!");

            } else {

                mostra("Você errou! Seu chute é menor que o número pensado!");
            }

        }
        tentativas++
    }

</script>
2 respostas

Oi, Sergio!

Ao meu entendimento, a função document.write só imprime a informação na tela depois que as mensagens de alertas, nesse caso o seu prompt, terminar de exibir todas as mensagens.

O que ficaria legal no seu código é substituir o mostra por alert. Assim, logo que a pessoa digitar o número errado, será emitido a mensagem dizendo se o número é maior ou menor e, em seguida, perguntar o número pensado novamente.

Eu consegui o resultado que queria quando abri o programa no firefox, tanto o chrome quanto o edge so imprimem ao final.