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

podem me dizer o que tem de errado com este projeto?

<meta charset="UTF-8">

<h3>em negrito</h3>
<br>

<input/>
<button>botão</button>

<script>


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

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

var valorDoNumero = [33,34,35,36]

function testa() {
   var conseguiu = false

   var caixa = [];

   for(var numero = 0; numero < caixa.length; numero++) {

    if(input.value == caixa[numero]); {

        alert("VOCE ACERTOU!!!")
        conseguiu = true;
        caixa.push(valorDoNumero);
        break;
    }
  }
  if(conseguiu == false) {
      alert("VOCE ERROU!!");
  }
  input.value = "";
  input.focus();
}

button.onclick = testa;

</script>
3 respostas
solução!

Olá João,

O seu for não está sendo executado porque a condição numero < caixa.length nunca será verdadeira, pois o valor de caixa.length é zero e o do número também, ou seja, o valor da variável numero nunca será menor que o valor de caixa.length

Para corrigir o código será necessário substitui a expressão caixa.length pela expressão valorDoNumero.length, pois é o array valorDoNumero que deve ser percorrido para verificar se o valor digitado pertence a ele.

Também será necessário alterar a linha onde é feita a verificação do valor:

if(input.value == caixa[numero]) 

trocar por:

if(input.value == valorDoNumero[numero])

pois a verificação deve ser feita no array valorDoNumero onde estão os números a serem acertados e não no caixa que foi declarado como vazio.

João, o código corrigido ficará da seguinte forma:

<meta charset="UTF-8">

<h3>em negrito</h3>
<br>

<input />
<button>botão</button>

<script>


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

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

  var valorDoNumero = [33, 34, 35, 36]

  function testa() {
    var conseguiu = false

    var caixa = [];

    for (var numero = 0; numero < valorDoNumero.length; numero++) {

      if (input.value == valorDoNumero[numero]); {

        alert("VOCE ACERTOU!!!")
        conseguiu = true;
        caixa.push(valorDoNumero);
        break;
      }
    }

    if (conseguiu == false) {
      alert("VOCE ERROU!!");
    }

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

  button.onclick = testa;

</script>

nossa,muito obrigado!! não tinha percebido isso.