Oi! Meu código está variando o tamanho da array. Não sei onde foi que errei. A princípio está exatamente da maneira ensinada na aula.
<meta charset="utf-8">
<h1>Adivinhe o número</h1>
<input>
<button>Acertou?</button>
<script type="text/javascript">
function sorteia() { //essa função sorteia os números de 1 a 10
return Math.round(Math.random() * 10);
}
function sorteiaNumeros(quantidade) {
var segredossss = []; //a variável sorteia vai receber a quantidade de números informada...
//var "segredossss" só pra diferenciar da var segredos, mas poderia ser o mesmo nome, já que tudo que está dentro de uma função só existe dentro dessa mesma função, a não ser que dê o return para capturar o resultado
var numero = 1;
while(numero <= quantidade) { //enquanto o número for menor que a quantidade informada...
var numeroAleatorio = sorteia(); //a var numeroAleatorio vai receber o resultado da função sorteia()
var achou = false; //A ideia é usarmos o push() somente se o segredo não for encontrado dentre os elementos da lista criada...
//Entre a var achou e o nosso if() teremos que varrer a lista de números sorteados de segredossss, e verificar se o número selecionado aleatoriamente está contido nela. Se estiver, o achou será verdadeiro, e o push() não será executado.
//Assim, criaremos um for:
for(var posicao = 0; posicao < segredossss.length; posicao++) {
if(segredossss[posicao] == numeroAleatorio){
achou = true;
break;
}
}
if(achou == false) { //Se o achou for igual a false, chamamos o segredossss.push()
segredossss.push(numeroAleatorio);
}
numero++;
}
return segredossss; //depois a função sorteiaNumeros vai retornar os 3 numeros solicitados para a var segredos
}
var segredos = sorteiaNumeros(4);
console.log(segredos);
var input = document.querySelector("input");
input.focus(); //fica piscando para digitar quando abrir o programa
function verifica() {
var achou = false;
//o length pega automaticamente o tamanho da array
//poderia ser também posicao < 4
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 = ""; //zera o campo do input após o alert
input.focus(); //fica piscando o campo do input para digitar novamente
}
var button = document.querySelector("button");
button.onclick = verifica;
</script>