1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Problema com Comparação de Arrays.

Estou fazendo um exercício onde preciso fazer um jogo baseado em regras dá loteria. -O usuario deve entrar com 6 números diferentes, os números devem ser de 0 a 60. -Ao final do programa, deve ser feito uma comparação dos números do usuário com os números gerados randomicamente.

Bom...Estou tendo problemas na linha 51 aparecendo o seguinte erro que não deixa meu programa ir pra frente. "Loteria.html:51 Uncaught TypeError: Cannot read property '0' of undefined".

Segue o código-fonte:

<meta charset="UTF-8"/>
<h1> Welcome to Lottery! </h1>
<input type="text" id="selectedNumbers" />
<input type="submit" id="Add" value="Add numbers" />
<input type="submit" id="Verify" value="Verify your game" />
<h3> Instructions: Enter 6 numbers, one by one in the text box and press "Add Numbers".<br>The numbers must be from 0 to 60 and can not be repeated.<br>Then click on verify numbers to check your game.</h3>
<h4>Good Lucky!</h4>

<script>

var selected = Array(); 

var selectedNum    = function(){
    var numbers = (document.getElementById("selectedNumbers").value);

    for(var i = 0; i < 6 ; i++){
        if(selected[i] == numbers){
            alert("This number has been chosen!");
            return(selectedNum);
        }
        if(numbers > 60 || numbers < 0){
            alert("The numbers must be from 0 to 60!");
            return(selectedNum);
        }
    }        

    selected.push(parseInt(numbers));
    selected.sort();
    console.log(selected);



}


var drawn = Array();
for(j = 0; j < 6; j++) {
    drawn[j] = Math.round( Math.random() * 60 );
}
    drawn.sort();
    console.log(drawn);

var botaoAdd = document.getElementById("Add");
botaoAdd.onclick = selectedNum;


var verifyNumbers = function(selected, drawn) {
    var hits = 0;
    for(i = 0; i < 6; i++) {
        for(j = 0; j < 6; j++) {
            if(selected[i] === drawn[j]) {
                hits++;
            }
        }
    }
    return hits;
}

var points = verifyNumbers(selected, drawn);

if(points == 6){
alert("Congratulations! You Win!");
}
else{
alert("Unfortunately, It was not this time");
}

var botaoVerify = document.getElementById("Verify");
botaoVerify.onclick = verifyNumbers;
</script>

Grato a quem puder me esclarecer sobre o problema.

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags arrays javascript ou faça a sua própria pergunta.