Já revisei diversas vezes e não consigo encontrar o problema. Está aparecendo o alert de erro mesmo depois que (achou == true) e ter pedido para o programa parar usando o comando break. Gostaria que quando o usuário acertesse o segredo, o programa fosse finalizado e não aparecece o Alert de Erro. Agradeço muito quem poder me ajudar nesse problema!!!
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<input type="text">
<button>Adivinhe meu segredo</button>
<script>
function senhaSorteia() {
return Math.round(Math.random() *10);
}
function senhaNumeros(quantidade) {
var segredos = [];
var numero = 1;
while(numero <= quantidade) {
var numeroAleatorio = senhaSorteia();
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++;
}
}
}
return segredos;
}
var segredos = senhaNumeros(3);
console.log(segredos);
var input = document.querySelector("input");
input.focus();
function verifica() {
for(var posicao = 0; posicao < segredos.length; posicao++){
var validador = false;
if (segredos[posicao] == input.value) {
alert("Parabéns, você acertou!!!");
validador == true;
break;
}
}
if(validador == false) {
alert("VocÊ ERROU!");
}
input.focus();
input.value = "";
}
var button = document.querySelector("button");
button.onclick = verifica;
</script>
</body>
</html>