4
respostas

Como colocar numero máximo de 3 tentativas no jogo do adivinha

insira seu código aqui

JOGO DO ADIVINHA REGRAS DO JOGO O Sistema sorteiará 3 números aleatórios entre 1 e 10, onde você terá que adivinhar. Para adivinhar, você deverá informar no campo abaixo um número pensado e clicar imediatamente no botão [Compare com o meu segredo] Vamos Lá!!!!! Boa Sorte!!!!!

Como restringir para 3 tentativas o jogo? pensei em fazer algo assim, mas em que lugar? Logo no inicio do verifica()?

var maximoTentativas = 3; var tentativaAtual = 1;

while(tentativaAtual <= maximoTentativas) {

4 respostas

Acredito que cortou uma parte do seu código, mas tente algo nesse sentido, talvez ajude.

var maximoTentativas = 3;
var tentativaAtual = 0;

//tenta enquanto não chegar ao máximo
do{
//código
//se usuario acertou, break;

++tentativaAtual;
} while(tentativaAtual < maximoTentativas);
function verifica() {

      var tentativa = 1;

      if (tentativa < 3) {

          var achou = false;

          for(var posicao = 0; posicao < segredos.length; posicao++) {

                if(input.value == segredos[posicao]) {

                      alert("Você ACERTOU! PARABÉNS VOCÊ ACABA DE GANHAR O JOGO!!!!!!");
                      achou = true;
                      input.value = "!!!!!!!!! PARABÉNS !!!!!!!!";
                      input.focus();
                      break;
                } 

                if(achou == false) {

                      alert("Você ERROU!");
                      input.value = "";
                      input.focus();
                      tentativa++;
                }
          }                

      }
      else {
        input.value = "!!!!!!!!! O JOGO ACABOU !!!!!!!!";
      }
    }

NÃO ESTOU CONSEGUINDO QUE O PROGRAMA DÊ APENAS 3 TENTATIVAS DE ERRO. JÁ TENTEI COLOCAR O IF TENTATIVA E O ELSE EM VÁRIAS PARTE DA FUNÇÃO VERIFICA() PORÉM NÃO CONSIGO O RESULTADO QUE QUERO.

Veja o código abaixo:

function verifica() {

      var maximoTentativas = 3;
     var numeroErros = 0;

          var achou = false;

          for(var posicao = 0; segredos.length ; posicao++) {

        If (numeroErros  == maximoTentativas )
        {
            alert("Você excedeu o número máximo de tentativas!")
            break;
        }

                if(input.value == segredos[posicao]) {

                      alert("Você ACERTOU! PARABÉNS VOCÊ ACABA DE GANHAR O JOGO!!!!!!");
                      achou = true;
                      input.value = "!!!!!!!!! PARABÉNS !!!!!!!!";
                      input.focus();
                      break;
                } 

                if(achou == false) {

                      alert("Você ERROU!");
                      input.value = "";
                      input.focus();
                      numeroErros ++;
                }
          }                
      else {
        input.value = "!!!!!!!!! O JOGO ACABOU !!!!!!!!";
      }
    }

Caso queira uma melhoria no seu código fonte, estude isto abaixo:

<meta charset="UTF-8">
<input/>
<button> Compare </button>

<script>

var segredos = ["1", "2", "3", "4"];
var maximoTentativas = 3;
var numeroErros = 0;

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

function verificar()
{    
    if (numeroErros == maximoTentativas)
    {
        alert ("excedeu tentativas")
        return;        
    }
    if  (segredos.indexOf(input.value) >= 0)
    {        
        alert("Acertou!")
    } else {
        alert("Errou!")
        numeroErros++;
        alert (numeroErros)
    }
    input.value = "";    
}

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

Oi Leandro Magalhães dos Santos sua dúvida já foi solucionada ou ainda não ?