1
resposta

Desafio jogo de advinhação duvidas

Consegui concluir o desafio, porem quando eu acerto o numero escolhido aparece duas mensagens, a que eu acertei e a que eu errei também, alguém sabe onde está o erro?

  <meta charset="UTF-8">

<script>

   function pulalinha(){
        document.write("<br>")
        document.write("<br>")
   }
   function mostra(frase) {
        document.write(frase);
        pulalinha();
    }
    function sorteia(n){
        return Math.round(Math.random() * n);
    }

    var numeroPensado = sorteia(10);
    console.log(numeroPensado);

    var chute = parseInt(prompt("Eu pensei em um numero de 1 a 10, tente adivinhar xD."));

    if(chute == numeroPensado) {
        mostra("Parabens você acertou!");

    }

    if(chute < numeroPensado) {
        mostra("Você errou, eu pensei em um numero maior que o escolhido. " + "'" + numeroPensado  + "'" );
    }
    else{
        mostra("Você errou, eu pensei em um numero menor que o escolhido. " + "'" + numeroPensado  + "'" );
    }



</script>
1 resposta

Boa tarde Rodrigo,

Isso acontece pois você fez um else para o segundo if apenas, logo, o programa faz o teste do primeiro if(chute == numeroPensado), constata que você acertou, logo em seguida, ele entra no segundo if (chute < numeroPensado) e como o teste retorna false, ele executa a função que está no else.

Para resolver isso, pode fazer da seguinte forma:


    if(chute == numeroPensado) {
        mostra("Parabens você acertou!");

    } else {

        if(chute < numeroPensado) {
            mostra("Você errou, eu pensei em um numero maior que o escolhido. " + "'" + numeroPensado  + "'" );
        } else {

            mostra("Você errou, eu pensei em um numero menor que o escolhido. " + "'" + numeroPensado  + "'" );
        }