2
respostas

Repostas no jogo de advinhação

Boa Tarde. Estava fazendo o exercício referente ao jogo de advinhação, pra praticar tanto a função if quanto a while. O código aparentemente roda perfeitamente, contudo, quando ele pede para colocar uma resposta na caixa de alerta ele logo já abre a segunda caixa de alerta para segunda tentativa, sem rodar na página o aviso de que a primeira resposta está errada. Se eu coloco três respostas erradas, só após a última resposta ele exibe as três mensagens de erro de uma vez. Gostaria de saber se tem algo que eu possa fazer no código para ele imprimir a resposta antes de pedir a segunda tentativa. Obrigado

<meta charset = "UTF-8">

<script>

function pulaLinha(){

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

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

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

    console.log(numeroPensado)

    var tentativa = 1

    while(tentativa <= 3){

        var numeroChute = parseInt(prompt("Eu Pensei em um número, será que vc consegue adivinhar qual foi? Digite sua tentativa: "));

        if(numeroChute == numeroPensado){

        mostra("Parabéns! Você acertou, o número pensado foi " + numeroPensado);
            break;
        } else{
            mostra("Você errou");

        }
        tentativa++

    }
    mostra("FIM")



</script>
2 respostas

Olá Paulo, como vai?

O que podemos fazer é inserir um alert em nosso if. Só conseguimos exibir um pop up. Veja se gosta da ideia:

if (numeroChute == numeroPensado) {
            alert("ACERTOU ");
            mostra("Parabéns! Você acertou, o número pensado foi " + numeroPensado);
            break;
        } else {
            alert("ERROU");
            mostra("Você errou");
        }

Espero ter ajudado! Um forte abraço!

Fala Paulo!

Fiquei intrigado com o teu código, e depois de algumas "googadas" vi que o problema é mais do navegado que do teu código. Segue o que eu encontrei:

"Como a maioria das linguagens de programação, o JavaScript foi projetado para funcionar com um único fluxo de execução. Apenas uma instrução do seu código será processada em um determinado instante. No ambiente do navegador, seu código JavaScript ainda terá que disputar vaga com o rendering (layout e paint) da página. Isto significa que o navegador não conseguirá posicionar ou desenhar um elemento na tela ao mesmo tempo que executa JavaScript e vice-versa."

Fonte