4
respostas

Jogo de adivinhação. Exercício 19 aula 07

Quis dar uma incrementada então me baseei no código que havia escrito para o exercício 13 da aula 06. Gostaria de ter conseguido incluir alertas diferentes dependendo de qual tentativa fosse mas acho que está longe demais da minha alçada por enquanto hehe

Infelizmente, do jeito que fiz, quando acerto o número na terceira tentativa, ele também mostra a mensagem de erro. Não sei como resolver... o único jeito que pensei de resolver foi colocar a função if que mostra a mensagem de erro dentro do while de "(tentativas <= 3)", mas daí o programa nem roda.

Segue abaixo o código:

<meta charset="UTF-8">

<script>

//Chegou a hora de reproduzir todos os passos apresentados no vídeo e, assim fixar ainda mais o que aprendeu. 
//A ideia é que você tenha no final dessa prática o mesmo resultado apresentado pelo instrutor. 
//Desta vez, foque no jogo de adivinhação, aquele que dá as três tentativas para o usuário.

    function pulaLinha() {

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

    }

    function mostra(frase) {

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

    function sorteia(n) {

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

    alert("Vamos brincar de adivinhação");
    alert("Vou pensar em um número de 1 a 10 e você vai tentar adivinhar");
    alert("Você terá 3 tentativas");

    var numeroPensado = sorteia(10);

    var tentativas = 1;

    if(tentativas = 1) {

    var chute = parseInt(prompt("Já pensei. Qual você acha que é?"));
    tentativas++;
    }

    while(tentativas <= 3) {

        var chute = parseInt(prompt("Errou, tente outro número:"));

         if(chute == numeroPensado) {

            mostra("Uau! Você acertou! O número era: " + numeroPensado);
            break;

        } else {

            tentativas++;
        }

    }

    if(tentativas = 3) {

            mostra("Você errou todas tentativas :(");
            mostra("O número pensado foi: " + numeroPensado);

        }



</script>
4 respostas
<meta charset="UTF-8">

<script>

//Chegou a hora de reproduzir todos os passos apresentados no vídeo e, assim fixar ainda mais o que aprendeu. 
//A ideia é que você tenha no final dessa prática o mesmo resultado apresentado pelo instrutor. 
//Desta vez, foque no jogo de adivinhação, aquele que dá as três tentativas para o usuário.

    function pulaLinha() {

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

    }

    function mostra(frase) {

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

    function sorteia(n) {

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

    alert("Vamos brincar de adivinhação");
    alert("Vou pensar em um número de 0 a 10 e você vai tentar adivinhar");
    alert("Você terá 3 tentativas");

    var numeroPensado = sorteia(10);

    for(var tentativas = 1; tentativas <= 3; tentativas++){

        var chute = parseInt(prompt("Já pensei. Qual você acha que é?"));

        if(chute == numeroPensado) {
            mostra("Você acertou, parabéns!")
            break;
        } else {
            mostra("Você errou o número não é: " + chute)
        }
    }

</script>

Tem alguma forma - com o conteúdo até agora - de mostrar uma mensagem diferente durante as tentativas?

Oi, eu modifiquei um pouco o código para ele parar de ficar mostrando a mensagem de erro mesmo quando o numero estava correto. Fiz alguns testes e funcionou normalmente.

<meta charset="UTF-8">

<script>

//Chegou a hora de reproduzir todos os passos apresentados no vídeo e, assim fixar ainda mais o que aprendeu. 
//A ideia é que você tenha no final dessa prática o mesmo resultado apresentado pelo instrutor. 
//Desta vez, foque no jogo de adivinhação, aquele que dá as três tentativas para o usuário.

    function pulaLinha() {

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

    }

    function mostra(frase) {

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

    function sorteia(n) {

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

    alert("Vamos brincar de adivinhação");
    alert("Vou pensar em um número de 1 a 10 e você vai tentar adivinhar");
    alert("Você terá 3 tentativas");

    var numeroPensado = sorteia(10);

    var tentativas = 1;

    var chute = parseInt(prompt("Já pensei. Qual você acha que é?"));

    if(chute != numeroPensado){

        while(tentativas <= 2){

            chute = parseInt(prompt("Errou, tente outro número:"));

            if(chute == numeroPensado){
                mostra("Uau! Você acertou! O número era: " + numeroPensado);
                break;
            }
            else if(tentativas == 2 && chute != numeroPensado){
                mostra("Você errou todas tentativas :(");
                mostra("O número pensado foi: " + numeroPensado);
            }

            tentativas++;
        }
    }
    else{
        mostra("Uau! Você acertou! O número era: " + numeroPensado);
    }   

    mostra("FIM");

</script>