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

código não funciona

Olá!! Gostaria de saber onde está o meu erro. Vou enviar meu código para análise de vocês. Obrigado.

<meta charset="utf-8">

<script>

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

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

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

    var numeroPensado = sorteia();
    var chute = parseInt(prompt("Bem vindo ao jogo!!! Tente advinhar o número. Digite um número de 0 a 10!"));

    while(chute != numeroPensado) {
        if (chute > numeroPensado) {
            parseInt(prompt("Você ERROU o número que você escolheu é MAIOR do que o número pensado por mim. Tente mais uma vez!"));
        }else{
            parseInt(prompt("Você ERROU o número que você escolheu é MENOR do que o número pensado por mim. Tente mais uma vez!"));
        }
    }

    if(chute == numeroPensado) {
        mostra("UAU!!! Você ACERTOU! O número que eu pensei foi o " + numeroPensado + ".");
    }

</script>
2 respostas
solução!

Bom dia, Flavio! Tudo bem?

Da forma que o código está implementado, você entrará num loop infinito dentro do while caso você não acerte de primeira. Isso ocorre pois você não está atualizando o valor da variável chute dentro do while.

Tente da seguinte forma:

  while (chute != numeroPensado) {
        if (chute > numeroPensado) {
            chute = parseInt(prompt("Você ERROU o número que você escolheu é MAIOR do que o número pensado por mim. Tente mais uma vez!"));
        }
        else {
            chute = parseInt(prompt("Você ERROU o número que você escolheu é MENOR do que o número pensado por mim. Tente mais uma vez!"));
        }
    }

Espero ter ajudado (:

Obrigado Rosicley, esqueci de atualizar a variável chute :-)