1
resposta

Tornando o jogo mais dinâmico com "for" e contador de tentativas

Baseado na resolução de um colega que utilizou while e uma função para conferir palpites, decidi adaptar o código dele utilizando "for" no lugar do "while" e adicionando um contador de tentativas, através de um array.

Segue o código:

<meta charset="UTF-8">

<script>

    function pulaLinha() {

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

    }

    function mostra(frase) {

        document.write(frase);
        pulaLinha();

    }

    function sorteia(numMax) {

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

    }

    function conferirPalpite() {
        if (palpite == -1) {
            palpite = Number(prompt(`Já pensei! O número está entre 0 e ${numMax}`));
        } else {
            if (palpite < numeroPensado) {
                palpite = Number(prompt(`O valor ${palpite} está abaixo do número pensado. Tente novamente!`));
            } else {
                palpite = Number(prompt(`O valor ${palpite} está acima do número pensado. Tente novamente!`));
            }
        }
    }

    var numMax = Number(prompt("Digite o intervalo máximo a ser sorteado!"));
    var numeroPensado = sorteia(numMax);
    var palpite = -1;
    var tentativas = [];

    for (contador = 1 ; palpite != numeroPensado ; contador++){
        conferirPalpite();
        tentativas.push(contador); //Permite adicionar valores dentro no array. Nesse caso, o número do contador.
    }

    mostra(`O número pensado é ${numeroPensado}, e você chutou ${palpite}. Parabéns, você acertou em ${tentativas.length} tentativ${tentativas.length == 1 ? 'a' : 'as'}!`); //Aqui utilizei o "length", para contar quantos valores foram adicionados no array, permitindo uma contagem de tentativas. Também utilizei o operador ternário para diferenciar o singular com o plural.

</script>

Aqui estão alguns artigos explicando um pouco sobre o que eu utilizei:

Array e algumas funções: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Global_Objects/Array

Operador ternário: https://www.alura.com.br/artigos/o-que-e-o-operador-ternario?gclid=CjwKCAjw6dmSBhBkEiwA_W-EoKdVFkPyjkFqkJ7q0436lE38Jzts00yZnBACs9AlBpbjuH6YAT59QBoCgzoQAvD_BwE

Template strings: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Template_literals

1 resposta

Fala, Lucas! Tudo bem por aí?

Excelente, ficou bacana demais, mandou bem!

Caso tenha alguma dúvida não deixe de compartilhar com a gente.

Bons estudos e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.Bons Estudos!