3
respostas

Jogo Adivinha com um erro

// Meu programa não escrebe VOCÊ ERROU e depois me pergunta novamente, ele simplesmente pergunta novamente e no final das tentativas ele imprime o VOVÊ ERROU 3 vezes. Aonde que esta meu erro?

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

    function pulaLinha() {

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

    function mostra(frase) {

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

    function sorteia(n) {

        return Math.round(Math.random() * n);
    }    

    var numeroPensado = sorteia(10);

     var chance = 1

    while(chance <= 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 {
        mostra("Você errou!");
    }

        chance++
    }


</script>
3 respostas

Olá Matheus,

Para que possamos lhe ajudar, gentileza copiar o seu código aqui no fórum.

Desculpe, Felipe. tinha postado de forma errada

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

    function pulaLinha() {

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

    function mostra(frase) {

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

    function sorteia(n) {

        return Math.round(Math.random() * n);
    }    

    var numeroPensado = sorteia(10);

     var chance = 1

    while(chance <= 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 {
        mostra("Você errou!");
    }

        chance++
    }


</script>

Olá Mateus,

Sua lógica não está errada. O que acontece é que quando temos um comando prompt dentro de um laço de repetição, ele executa todos os prompts antes de escrever algo na tela. Uma forma de corrigir isto seria trocar a função mostra no else do erro para um alert, assim apareceria um pop-up na tela informando que o usuário errou.

<meta charset="UTF-8">
<script>
    function pulaLinha() {
        document.write("<br>");
    }
    function mostra(frase) {
        document.write(frase);
        pulaLinha();
    }
    function sorteia(n) {
        return Math.round(Math.random() * n);
    }
    var numeroPensado = sorteia(10);
    var chance = 1;
    while(chance <= 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 {
          alert("Você errou!");
        }
        chance++;
    }
    if(chance > 3) {
      mostra("Fim do Jogo. O número sorteado é " + numeroPensado);
    }
</script>