1
resposta

[Dúvida] ERRO NO MEU PROGRAMA

Bom dia, pode verificar o erro no meu programa?

<meta charset="UTF-8">

<input/>
<button>Compare com o número que estou pensando!</button>

<script>
    function sorteia(){
        return Math.round(Math.random*10)
    }
function sorteiaNumeros(qtd){
     var numeros = [];
     var  numero = 1;
     while (numero<= quantidade){
   var numeroAleatorio = sorteia()
    if(numeroAletorio != 0){
        var achou = false
        for (var posicao = 0; posicao<numeros.lenght; posicao++){
            if (numeros[posicao] == numeroAleatorio){
                achou = true;
                break;
            } 
        }
        if (achou == false){
            numeros.push = (numeroAleatorio);
            numero++;
        }
    }
    return numeros;
    }  
    var  numeros =sorteiaNumeros(5)
    var input =document.querySelector ("input");

}
 
 function verifica(){
     var achou = false;
     for (var posicao = 0; posicao <= numeros.lenght; posicao++){
         if (numeros[posicao] == input.value){
             alert("ACERTOU!")
         achou = true;
             break;


         }
     } 
     alert("VOCÊ ERROU!");
     
 }
 var button = document.querySelector ("button");
button.onclik = verifica();





</script>
1 resposta

Oii, Flavio. Tudo bem?

Obrigada por compartilhar o seu código.

Testando seu código percebi algumas coisinhas:

  1. Função Math.random(): Faltou os parênteses pra que a função funcione corretamente.
  2. Erros de digitação: Existem algumas palavras incorretas como numeroAletorio (deve ser numeroAleatorio) e lenght (deve ser length).
  3. Você tá usando numeros.push = (numeroAleatorio);, mas o correto seria numeros.push(numeroAleatorio);.
  4. A função sorteiaNumeros() tá retornando os números antes de finalizar o loop. O return numeros; tá no lugar errado.
  5. onclik: Está escrito errado, o certo é onclick.
  6. O array numeros e o input não estão acessíveis fora da função.
<meta charset="UTF-8">

<input />
<button>Compare com o número que estou pensando!</button>

<script>
  function sorteia() {
    return Math.round(Math.random() * 10);
  }

  function sorteiaNumeros(qtd) {
    var numeros = [];
    var numero = 1;
    while (numero <= qtd) {
      var numeroAleatorio = sorteia();
      if (numeroAleatorio != 0) {
        var achou = false;
        for (var posicao = 0; posicao < numeros.length; posicao++) {
          if (numeros[posicao] == numeroAleatorio) {
            achou = true;
            break;
          }
        }
        if (achou == false) {
          numeros.push(numeroAleatorio);
          numero++;
        }
      }
    }
    return numeros;
  }

  var numeros = sorteiaNumeros(5);
  var input = document.querySelector("input");

  function verifica() {
    var achou = false;
    for (var posicao = 0; posicao < numeros.length; posicao++) {
      if (numeros[posicao] == input.value) {
        alert("ACERTOU!");
        achou = true;
        break;
      }
    }
    if (!achou) {
      alert("VOCÊ ERROU!");
    }
  }

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

Com essas correções seu código irá funcionar.

Um abraço e bons estudos.