Eu realizei o jogo advinha, porém na minha cabeça o uso da variável "achou" acaba me confundindo e acho mais claro usar dessa maneira. Gostaria de saber se existe algum erro nesse código, pois testei e obtive os mesmos resultados (Por isso o sorteia numero esta com 9, testei com vários para saber se repetiria). Existe uma razão pela qual se deve usar a variável achou?
<meta charset="UTF-8">
<input/>
<button>Compare com o meu segredo</button>
<script>
function sorteia() {
return Math.round(Math.random() * 10);
}
function sorteiaNumeros(quantidade) {
var segredos = [];
var numero = 1;
while(numero <= quantidade) {
var numeroAleatorio = sorteia();
if (numeroAleatorio !== 0) {
for(var posicao = 0; posicao < segredos.length; posicao++) {
if(segredos[posicao] == numeroAleatorio){
break;
}
}
if (segredos[posicao] !== numeroAleatorio) {
segredos.push(numeroAleatorio);
numero++;
}
}
}
return segredos;
}
var segredos = sorteiaNumeros(9);
console.log(segredos);
var input = document.querySelector("input");
input.focus();
function verifica() {
for(var posicao = 0; posicao < segredos.length; posicao++) {
if(input.value == segredos[posicao]) {
alert("Você ACERTOU!");
break;
}
}
if(input.value != segredos[posicao]) {
alert("Você ERROU!");
}
input.value = "";
input.focus();
}
var button = document.querySelector("button");
button.onclick = verifica;
</script>