2
respostas

Jogo pronto com adicionais de dificuldade e dicas

<meta charset="UTF-8">
<script>

    function pulaLinha() {

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

    function mostra(frase) {

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

    function sorteia(n) {

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

    }

    var n = parseInt(prompt("Digite o número máximo. Você terá que adivinhar qual número eu pensei do 0 ao número digitado."))
    var numeroPensado = sorteia(n);
    var chute = parseInt(prompt("Já pensei. Qual você acha que é?"));


        for (var contador = 2; contador >= 0; contador--) {

            if(chute == numeroPensado) {

                mostra("Uau! Você acertou, pois eu pensei no " + numeroPensado + ".");

                break;

            } else {

                if(contador == 0) {

                    mostra("É uma pena. Não foi dessa vez.");

                    break;

                }


                if (chute > numeroPensado) {    

                    chute = parseInt(prompt("Você errou. O número pensado é menor. Tente de novo. Você tem mais " + (contador) + " tentativas."));                               

                } else {

                    if (chute < numeroPensado) {  

                    chute = parseInt(prompt("Você errou. O número pensado é maior. Tente de novo. Você tem mais " + (contador) + " tentativas."));     

                }                               

                }

            }            

        }           

</script>

Escolhe a dificuldade no começo, escolhendo números menores ou maiores. Dá três tentativas. Se errar o número, ele dá uma dica. Se acertar ele comemora e se errar as 3 tentativas, ele lamenta. Eu só não queria que o computador sorteasse o zero.

2 respostas

Bom dia meu xará, espero que esteja bem!

Super interessante essa sua implementação. Continue assim!

Sobre a questão de sortear o 0, fique ligado: em uma aula futura ainda desse curso você vai ter a oportunidade de excluir os sorteios onde o número seja 0. Só continuar que chegamos lá.

Bom trabalho e bons estudos!

Olá João Felipe Ramos! Parabéns pelo código! Fiz algumas modificações na função sorteia() para que o número zero não seja escolhido. Veja:

function sorteia(n) {

        var numeroSorteado = Math.round(Math.random() * n);

        console.log("numeroSorteado antes do while: " + numeroSorteado);

        if(numeroSorteado == 0){
            while(numeroSorteado == 0){
                numeroSorteado = Math.round(Math.random() * n);
                console.log("Dentro do while. numeroSorteado: " + numeroSorteado);
            }
        }

        return numeroSorteado;
    }

Eu pus o 'console.log' para que você possa visualizar qual número foi escolhido pelo computador antes e durante o while.

Era isso mesmo que você estava procurando?

Ao rodar o código, as vezes acontece um estranhamento nos números de tentativas. De vez em quando ele repete o número da tentativa. Isso aconteceu contigo também?