Pedi para o codigo gerar 9 numeros aleatorios sem repetir nenhum, no entanto, as vezes ele só gera 5 ou 6, acredito que seja pq ele pare de gerar quando encontra um número repetido. Alguem tem alguma ideia do pq isso esta acontecendo? Segue imagem para ilustrar:
Segue abaixo o código:
<meta charset="UTF-8">
<input/>
<button>Compare com o meu segredo</button>
<script>
function sort(){
return Math.round(Math.random() * 10);
}
function sorteiaNumeros(quantidade){
var segredos = [];
var numero = 1;
while(numero <= quantidade){
var numeroAleatorio = sort();
if(numeroAleatorio !== 0){
var achou = false;
for (var posicao = 0; posicao < segredos.length; posicao++){
if(segredos[posicao] == numeroAleatorio){
achou = true;
break;
}
}
if(achou == false) {
segredos.push(numeroAleatorio);
}
numero++
}
}
console.log(segredos)
return segredos;
}
var segredos = sorteiaNumeros(9);
var input = document.querySelector("input");
input.focus();
function verifica(){
var encontrou = false;
for(var posicao = 0; posicao < segredos.length; posicao++){
if (input.value == segredos[posicao]){
alert("Você acertou!")
encontrou = true;
break;
}
}
if (encontrou == false){
alert("Você errou!")
}
input.value = "";
input.focus();
}
var button = document.querySelector("button")
button.onclick = verifica;
</script>