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

Pequena melhoria no jogo adivinha.

No meu código troquei a função mostra pelo alert, pois as mensagens só apareciam no final do programa. E acrescentei mais uma funcionalidade, que após o usuário errar todas as tentativas, o programa mostra qual foi o número pensado e depois encerra.

<meta charset="UTF-8">

<script>

    function pulaLinha(){

        document.write("<br><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 tentativas = 1;

    while(tentativas <= 3){
        var chute = parseInt(prompt("Pronto, já pensei, qual numero de 1 a 10 você acha que é? "));

        if(chute == numeroPensado){
        alert("Uau! Você acertou!");
        break;

        } else {
          if(chute > numeroPensado){
              alert("Que pena, você errou, seu chute é maior que o número que eu pensei. ");

          } else{
              alert("Que pena, você errou, seu chute é menor que o número que eu pensei.")

              }
        }
        tentativas++;
    }

    if(tentativas > 3){
        alert("O número pensado foi: " + numeroPensado);
    }
    alert("FIM!"); 


</script>    
2 respostas
solução!

Muito bom Charlles,

Só uma observação: a mensagem diz "Pronto, já pensei, qual numero de 1 a 10 você acha que é?", porém o número zero também está sendo escolhido

Olá Charlles, blz!

Primeiramente parabéns pelo código em geral está ótimo, mas só um adendo: para deixar um pouco mais enxuto observei que logo depois do while você usou a seguinte instrução:

if(tentativas > 3){
        alert("O número pensado foi: " + numeroPensado);
    }

No caso não seria necessário o uso do if, pois ao sair do while a variavel tentativas já será maior que 3 (após ter usado todas as chances). Então aconcelharia deixar apenas uma linha do alert, pois já ira aparecer depois do loop, ficando assim:

        alert("O número pensado foi: " + numeroPensado);

Bom, espero ter ajudado ;)

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software