Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Jogo da adivinhação - Problema no Chrome

Quando digito as tentativas o programa só exibe se acertei ou não depois da ultima tentativa, exibindo tudo de uma vez. O certo era pra cada tentativa exibir as mensagens uma de cada vez. Mas esse problema só ocorre no Chrome. Tentei em outros navegadores e funcionou certinho. Alguém sabe como resolver?

Segue o meu código:

<meta charset="UTF-8">

<script>

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

    function mostra(frase) {
        document.write(frase);
        pulaLinha();
    }

    function sorteia(numero) {
        return Math.round(Math.random() * numero);
    }

    var numeroSorteado = sorteia(100);
    var tentativas = 1;

    while(tentativas <= 3) {
        var chute = parseInt(prompt("Digite um número: "));

        if(chute == numeroSorteado) {
            mostra("ACERTOU!!");
            break;
        } else {
            mostra("ERROU!!");
        }

        if(numeroSorteado > chute) {
            mostra("O número sorteado era maior!");
            pulaLinha();
        }

        if(numeroSorteado < chute) {
            mostra("O número sorteado era menor!");
            pulaLinha();
        }

        tentativas++;
    }

    pulaLinha();
    mostra("GAME OVER");
    mostra("A resposta era: " + numeroSorteado);

</script>
2 respostas
solução!

Olá Maurilio! Isso ocorre porque cada navegador interpreta de forma diferente o document.write(). Você irá aprender no decorrer dos estudos que o document.write() não é a melhor alternativa para ser utilizada nestes casos, ele é utilizado aqui apenas para fins didáticos, para que você possa entender a lógica de programação.

Existem outras técnicas em JavaScript para conseguir o efeito desejado em todos os navegadores, mas isso foge ao escopo de um curso de lógica.

Continue firme com seus estudos que em breve você compreenderá melhor essa dinâmica do JavaScript e o porque do document.write() não ser a melhor alternativa!

Abraços e sucesso!!

Entendi, muito obrigado André!