Olá a todos!
Segui todos os passos da aula (embora tenha tido muitas dificuldades de compreensão) e acho que meu código abaixo está exatamente igual ao que foi ensinado, PORÉM, o "zero" (que nos foi proposto que não fosse considerado um "número válido") ainda aparece em alguns recarregamentos que faço na página.
Para "visualizar isso melhor", eu estabeleci que o programa me "sorteasse" 9 números (function sorteiaNumeros), a fim de observar se ele "sortearia" aleatoriamente todos os números de 1 a 9, sem repetir nenhum.
De fato, ele não repete, mas o "zero" ainda aparece em algumas combinações.
Onde estou errando?
Outra coisa: posso escolher a quantidade de números que quiser para minha lista? Mais de 10, por exemplo?
Segue abaixo meu código.
Muito obrigado!
Carlos
<meta charset="UTF-8">
<input/>
<button>"Compare com o meu segredo</button>
<script>
function sorteio(){
return Math.round(Math.random() * 10)
}
function sorteiaNumeros(quantidade){
var segredos = [];
var numero = 1;
while (numero <= quantidade){
var numeroAleatorio = sorteio();
var achou = false;
if(numeroAleatorio !== 0){
for(var posicao = 0; posicao < segredos.length; posicao++) {
if(segredos[posicao] == numeroAleatorio){
achou = true;
break;
}
}
}
if(achou == false){
segredos.push(numeroAleatorio);
numero++;
}
}
return segredos;
}
var segredos = sorteiaNumeros(9);
console.log(segredos);
var input = document.querySelector("input");
input.focus();
function verifica() {
var achou = false;
for(var posicao = 0; posicao < segredos.length; posicao++) {
if(input.value == segredos[posicao]){
alert("Você ACERTOU!!");
achou = true;
break;
}
}
if(achou == false){
alert("Você ERROU!");
}
input.value = "";
input.focus();
}
var button = document.querySelector("button");
button.onclick = verifica;
</script>