1
resposta

jogo adivinha com max tentativas

Tentei fazer o jogo com numero maximo de tentavias, mas quando erro 3 vezes ele ainda deixa eu tentar mais uma e diz q acabaram as tentativas qdo aberto o button, mas eu queria que ele nao me deixasse apertar mais o button. E além disso, apos esse anuncio ele diz que acertei, mesmo sem eu ter incluido qq numero no input. Eu tinha colocado o break ao final do alert acertou mas o console disse que era erro de sintaxe e nao entendi porque, mas ai tirei.

<meta charset="UTF-8">

<input/>

<button>Digite seu número</button>


<script>

    var numeroPensado = Math.round(Math.random()* 10);

    var input = document.querySelector("input");
    input.focus ();

    var tentativaAtual = 1;
    var maxTentativas = 3

    function verifica() {

        if(tentativaAtual>maxTentativas) { 
            alert("Acabaram as tentativas!!!");
        }

        if(input.value == numeroPensado) {

            alert("Você ACERTOU, o numero pensado era " + numeroPensado);
            ;

        } else {

        alert("Você ERROU, o numero pensado era " + numeroPensado);
        ;    
            }

        input.value = "";
        input.focus ();

        tentativaAtual++;

    }


    var button = document.querySelector("button");
    button.onclick = verifica;

</script>
1 resposta

Ana, boa tarde!

Isso está ocorrendo devido ao local onde está sendo verificado se o número digitado está correto, se o número de tentativas for maior que o limite, não é necessário verificar se o número está certo, só é necessário mostrar que acabou as chances.

Sendo assim você só precisa colocar um else depois de verificar as chances e só aí verificar se ele realmente acertou, ficando assim:

function verifica() {
    if (tentativaAtual > maxTentativas) {
      alert("Acabaram as tentativas!!!");
    } else {
      if (input.value == numeroPensado) {
        alert("Você ACERTOU, o numero pensado era " + numeroPensado);
      } else {
        alert("Você ERROU, o numero pensado era " + numeroPensado);
      }
    }

Agora vou deixar um desafio, depois de errar três vezes o sistema precisa reiniciar o jogo, tente implementar essa funcionalidade

Espero ter ajudado e bons estudos!

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