Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Jogo da adivinhação utilizando condições (isNaN, ||, &&)

Boa noite! Queria compartilhar o código que eu fiz pro jogo da adivinhação, pra ver o que vocês acham. Naquele exercício de calcular as gerações desde 1500, percebi que era muito fácil o usuário bugar o cálculo usando strings e números inválidos, então achei legal começar a praticar as condicionais, limitando o tipo de input que o programa aceita na hora de trabalhar.

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
    </head>
        <body>
            <h1>Tente adivinhar um número inteiro de 0 a 10!</h1>
            <p>Você tem três chances para acertar o número que eu pensei...</p>
        <input id="palpite" />
        <button>Bora!</button>
        <p id="resultado"></p>

        <script>
            let palpite = document.querySelector("input");
            let resultado = document.getElementById("resultado");
            palpite.focus();

            let botaoPalpite = document.querySelector("button");
            botaoPalpite.onclick = adivinhacao;

            let numeroAleatorio = Math.round(Math.random() * 10);
            let tentativas = 1;

            function adivinhacao(){

                palpite.focus();

                if (tentativas <= 3 && palpite.value == numeroAleatorio){
                    resultado.textContent = "Parabéns, você acertou!";
                    palpite.value = "";
                    return;
                }

                if (isNaN(palpite.value) || palpite.value < 0 || palpite.value > 10){
                    resultado.textContent = "Tem que ser um número entre 0 e 10!";
                    palpite.value = "";
                    return;
                }

                if (!isNaN(palpite.value) && palpite.value != numeroAleatorio){
                    if(tentativas >= 3){
                        resultado.textContent = "Ih, acabaram as tentativas! O número era " + numeroAleatorio + "!";
                        return;

                    } else {
                        resultado.textContent = "Ops, não era esse... Tente novamente!";
                        tentativas++;
                        palpite.value = "";
                    }
                }
            }

            </script>
        </body>
</html>

O que acharam? Eu ainda quero aprimorar o código, e criar um botão através do script para que, se o usuário acertar ou gastar toda as tentativas, possa ser gerado outro número aleatório e ele possa jogar novamente sem ter que recarregar a página... Mas isso vai ficar pra mais além, que esse aqui já foi exercício o bastante por enquanto! hehe

1 resposta
solução!

Boa tarde, Victor! Tudo bem?

MUITO BOM! Você conseguiu usar diversas coisas além do aplicado nesse curso, o isNan, textContent e até a estrutura do HTML. Ser um programador é isso ai, não se contentar com o que sabemos, procurar em diversas fontes, testar, errar, refazer o que já tinha feito e etc.

Podemos ver o quanto você se dedicou e o quanto está aprendendo, até com planos futuros hehe

O sorteio está funcionando e as condicionais também, tanto pra testar entradas erradas quanto pra verificar se o usuário acertou o número.

Parabéns pelo desenvolvimento desse código, espero que ainda consiga muito aprendizado por aqui.

Bons estudos!