Meus amigos,
Estou quebrando a cabeça com dois pontos e preciso de uma força. Primeiro, segue o código completo do teste final:
// VARIÁVEIS PRINCIPÁIS
var sorteados = [];
var jogo = [];
var totNumSorteados = 6;
var podeInserir = true;
// FUNCTIONS
var aleatorio = function() {
for (var i = 0; i <= totNumSorteados; i++) {
var random = Math.round((Math.random() * 20) + 1);
if (sorteados.length > 0) {
for (var j = 0; j < sorteados.length; j++) {
while (sorteados[j] == random) {
var random = Math.round((Math.random() * 20) + 1);
};
};
};
sorteados.push(parseInt(random));
};
document.write(sorteados + "<br>"); // log
};
var inputJogo = function() {
for (var i = 0; i < totNumSorteados; i++) {
podeInserir = true;
var aux = i + 1;
var input = parseInt(prompt("De 1 a 60, informe seu número " + aux));
if (jogo.length >= 1) {
for (var h = 0; h < jogo.length; h++){
if (podeInserir = true){
alert("O for funciona.");
};
if (jogo[h] == input) {
alert("Você não pode informar números repetidos, tente novamente.");
i--;
podeInserir = false;
};
};
if (podeInserir == true) {
jogo.push(input);
};
};
};
};
var verificar = function() {
for (var x = 0; x < jogo.length; x++) {
for (var y = 0; y < sorteados.length; y++) {
if (sorteados[x] == jogo[y]) {
console.log("Teste de comparação = true;");
document.write("<p>Legal!!! Você acertou o número " + sorteados[y] + "!!! Parabéns!!!</p>");
};
};
};
};
// EXECUÇÃO
aleatorio();
inputJogo();
verificar();
Agora as dúvidas.
a. Na function verificar não estou conseguindo fazer a comparação dos arrays, e eu não entendi o motivo. Em tese era pra funcionar. Eu já testei o for e está ok, o problema esta no if mesmo. Ja converti os dados para inteiro, inverti os contadores e nada. Quem puder dar uma luz, agradeço muito :)
b. tem um bug no teste que o código faz para verificar se o número inserido pelo usuário já foi inserido anteriormente no array que também não estou conseguindo resolver. É este trecho da function inputJogo:
for (var h = 0; h < jogo.length; h++){
if (podeInserir = true){
alert("O for funciona.");
};
if (jogo[h] == input) {
alert("Você não pode informar números repetidos, tente novamente.");
i--;
podeInserir = false;
};
};
Os que puderem dar uma luz, fico imensamente grato.
Abraço,
Hildo Quetz