Fala galera, beleza?
Estou com algumas dúvidas. Estou tentando escrever o desafio, mas encontrei algumas dificuldades:
Como faço para guardar o valor aleatório dentro do vetor apenas se ele não for igual a um valor existente? Sei que funciona com laço e comparação, mas estou há tempos tentando e sempre acaba colocando o mesmo valor nas 6 posições do vetor.
Como faço para que o cada botão execute de uma vez só? Coloquei 2 botões no código: um para o usuário apertar quando quiser começar a "brincar" (Então aparece os alerts coletando os dados) e outro para mostrar o resultado, mas depois que coloquei este último no código, nenhum funciona mais...
Não sei bem como explicar minhas dúvidas, mas segue meu código pra que analisem e tentem ver o que poderia arrumar:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Loteria</title>
<tt>
<br>
<hr width="30%" align="center">
<hr width="40%" align="center">
<h1 align="center"><font size="7">LOTERIA!</font></h1>
<hr width="40%" align="center">
<hr width="30%" align="center">
<br>
<br>
<font size="4">
Nossa função é simular uma loteria. Para isso, desenvolvemos nosso algoritmo que gera 6 números aleatórios entre 1 e 60!<br>
Sua função é simples: <b>Escreva a sua apostas nas janelas de alerta e teste sua sorte!</b> Nós diremos se você é o vencedor...<br>
<br>
Assim que estiver pronto, clique no botão abaixo.
<br>
<br>
</font>
</tt>
<input type="submit" value="Vamos lá!" id="botao" />
<br>
<br>
<input type="submit" value="Resultado" id="botao2" />
</head>
<body>
<script>
<!-- OBTENÇÃO DOS VALORES ALEATÓRIOS -->
var numerosVetor = [];
var numeroTemp = 0;
var cont1 = 0;
while (numerosVetor.length < 6)
{
numeroTemp = Math.round (Math.random () * 100);
if (numeroTemp < 60)
{
numerosVetor [cont1] = numeroTemp;
cont1++;
};
};
<!-- OBTENÇÃO DOS CHUTES DO USUÁRIO -->
var chute = [];
var botao = function ()
{
alert ("Ótimo! Vamos lá...")
for (var i = 0; i <6; i++)
{
var valor = parseInt (prompt ("Insira seu " + (i + 1) + "º chute:"));
if (valor > 60)
{
alert ("O número escolhido deve ser maior ou igual a 1 e menor ou igual a 60! Vamos recomeçar...");
return;
}
else
{
chute [i] = valor;
}
}
alert ("Os valores escolhidos são: " + chute [0] + ", " + chute [1] + ", " + chute [2] + ", " + chute [3] + ", " + chute [4] + " e " + chute [5] + ".");
};
var botaoIniciar = document.getElementById ("botao");
botaoIniciar.onclick = botao;
<!-- EXECUÇÃO DA COMPARAÇÃO ENTRE OS CHUTES E OS VALORES ALEATÓRIOS -->
var resultado = [];
for (cont2 = 0; cont2 < 6; cont2++)
{
for (cont3 = 0; cont3 < 6; cont3 ++)
{
if (chute [cont2] == numerosVetor [cont3])
{
resultado [cont2] = chute [cont2];
};
};
};
var botao2 = function ()
{
if (resultado.length != 0)
{
document.write ("<br><br>");
document.write ("<tt>Você acertou " + resultado.length + " valores. São eles: " + resultado);
document.write ("<hr> <tt> Resultado do sorteio: " + numerosVetor + ".");
}
else
{
document.write ("<br><br>");
document.write ("<tt>Você não acertou nenhum valor.");
document.write ("<hr> <tt> Resultado do sorteio: " + numerosVetor + ".");
};
};
var botaoResultado = document.getElementById ("botao2");
botaoIniciar.onclick = botao2;
</script>
</body>
</html>
Agradeço desde já a ajuda de vocês. Estou quebrando a cabeça com esse exercício há horas e não consigo. Sei que não estou complicando meu código, mas sem dificuldade não tem ganho!