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

Problema com o "While" no jogo do Adivinha

Oi, gente!

Eu estou na aula de repetições, refazendo o jogo de adivinhação que foi feito há umas aulas atrás. Tentei elaborar o programa um pouco antes do Flávio para ver se eu conseguia, errei algumas coisas, consegui mas ele ainda não está funcionando direito, e eu não consigo achar o problema! Está difícil para eu visualizar o que eu errei, porque o programa funciona normalmente, mas quando eu erro o chute uma vez, se eu acertar numa próxima tentativa, a mensagem que deveria aparecer não aparece, o programa somente obedece o "break;". Ele nem mesmo exibe as mensagens devidas quando eu erro todos os chutes, do jeito que acontece no vídeo. Eu realmente não estou encontrando o erro, tentei muitas vezes aqui já. Alguém consegue me ajudar?

Obrigado!

PS: A variável "numeroPensado" está como "5" porque eu estava testando, mas a intenção é de gerar um número aleatório quando o programa estiver certo.

<meta charset="UTF-8">

<script>

    function pulaLinha() {

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

    }

    function mostra(frase) {

        document.write(frase);
        pulaLinha();

    }


    var numeroPensado = 5;
    var tentativas = 1


    while(tentativas <= 3) { 

        var chute = parseInt(prompt("Já pensei. E ai, qual número é?"));

        if(chute == numeroPensado) {

        mostra("Parabéns! Pensei no " + numeroPensado + " mesmo!");

        break;

    }   else{

        mostra("Infelizmente, você errou!");

    }

        tentativas++;

     }

     mostra("FIM!")

    </script>
3 respostas
solução!

Fala Gustavo seu erro aparentemente está no erro de finalização dos seus códigos. Arruma essas 2 partes aqui que acho que irá rodar seu projeto.

Muda essa parte

 var tentativas = 1

Para

 var tentativas = 1; // aqui falto o ;

Depois muda essa parte.

function pulaLinha() {

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

    }

Para

function pulaLinha() {

        document.write("<br>");
        document.write("<br>"); // aqui falto o fechar a tag br do html >

    }

Olá Gustavo,

O seu erro esta como Alisson postou, dentro do função pulaLinha, que tbm pode ficar como eu coloquei abaixo.

Qualquer problema informe aqui para podermos ajudar.

Abraços!

<meta charset="UTF-8">

<script>

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

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

    var numeroPensado = 5;
    var tentativas = 1;

    while(tentativas <= 3) {
        console.log(tentativas);

        var chute = parseInt(prompt("Já pensei. E ai, qual número é?"));
        console.log(chute);
        if(chute == numeroPensado) {
            mostra("Parabéns! Pensei no " + numeroPensado + " mesmo!");
            break;
        } else {
            mostra("Infelizmente, você errou!");
        }
        tentativas++;
     }

     mostra("FIM!")

</script>

Funcionou mesmo! Nossa, que detalhe... hahaha

Muito obrigado!

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