Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Adivinhação com máximo de tentativas

Tentei fazer o jogo de adivinhação com máximo de 3 tentativas, como foi passada em uma das aulas anteriores mas não consegui. O que está dando errado neste código?

<meta charset="utf-8">

<input />
<button>Clique-me</button>

<script>

    var segredo = Math.round(Math.random()*2);

    var maximoTentativas = 3;
    var tentativaAtual = 1;

    while(tentativaAtual <= maximoTentativas) {

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

    function sorteia() {
          if (input.value == segredo) {
        alert("Acertou!");
        tentativaAtual = maximoTentativas;
        document.write("fim");
    } else {
        alert("errou");
    }
           input.value = "";
        input.focus();
    }
     tentativaAtual++;    

}

    var button = document.querySelector("button");
    button.onclick = sorteia;
</script>
2 respostas
solução!

Oi Marcelo tudo bem?

Dei uma mudada no seu código. O while estava fora da função sorteia, o while não funciona dessa forma "estática". E mesmo se tivesse dentro da função ele ia repetir o código 3 vezes e dizer que errou. Então criei um if para verificar o número de tentativas e se ultrapassar o número ele avisa que acabou o número de tentativas e some com o jogo.

Espero ter ajudado!!!

<meta charset="utf-8">

<input />
<button>Clique-me</button>

<script>

    var segredo = Math.round(Math.random()*2);

    var maximoTentativas = 3;
    var tentativaAtual = 1;



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

    function sorteia() {
      if (tentativaAtual>maximoTentativas) {
        document.write("Acabaram o número de tentativas")
        return;
      }
      if (input.value == segredo) {
        alert("Acertou!");
        document.write("fim");
      } else {
        alert("errou");
      }
      input.value = "";
      input.focus();

    tentativaAtual++;    
    }


    var button = document.querySelector("button");
    button.onclick = sorteia;
</script>

Legal!

Obrigado André!

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