Tentando reproduzir o código visto em aula, eu acabei criando um looping infinito na minha pagina e não consigo encontrar o erro, a pagina só carrega indefinidamente.
<meta charset="utf-8">
<input/>
<button> Compare com o meu segredo </button>
<script type="text/javascript">
function sorteia() { //Gera o número aleatório
return Math.round(Math.random()*10);
}
function sorteiaNumeros(quantidade) { //vai incrementar a lista de array com os números aleatórios
var segredos = []; // cria array vazio para ser prenchido
var numero = 1; //variavel para inicializar o loop while e indicar a quantidade máxima de número que temos que gerar
while(numero <= quantidade) {
var numeroAleatorio = sorteia();
var achou = false
for(var posicao = 0; posicao < segredos.length; posicao++){
if(segredos[posicao] == numeroAleatorio){
achou = true
break;;
}
if(achou = false){ //após inserir essa parte no código que deu erro, mas preciso dela para que não seja colocado nenhum valor repetido no array
segredos.push(numeroAleatorio);
numero++;
}
}
}
return segredos
}
var segredos = sorteiaNumeros(3); // Aqui é onde definimos o tamanho da array(lista) vazia na função acima
console.log(segredos);
var input = document.querySelector("input"); // define a parte da interação do usuário com a caixa a ser prenchida com o chute
input.focus(); // deixa a borda da caixa a ser prenchida com relevo colorido
function verifica() { // aqui fazemos a função percorrer o array para saber se a resposta do usuário esta certa(se estiver dentro do array) ou errada.
var achou = false;
var numeroAleatorio
for(var posicao = 0; posicao < segredos.length; posicao++){
if(input.value == segredos[posicao]){ // aqui é onde a função verifica se o usuário acertou ou não
alert("Você acertou");
achou = true;
break;
}
}
if(achou == false){ // parte da função sinaliza que o usuário respondeu é errada
alert("Você ERROU")
}
input.value = " ";
input.focus();
}
var button = document.querySelector("button");
button.onclick = verifica
</script>