Confesso que achei essa aula bem dificil, então tive que assistir várias vezes para destrincha-la e entender todos os processos. tentei usar for no lugar de while e só então pude perceber a diferença dos dois. Usando for, eu não tenho a liberdade de escolher quando sera feito o incremento da variável. Já com while, eu consigo colocar o incremento em qualquer lugar, inclusive dentro de um if como foi o caso dessa aula. Muito interessante. Difícil, porém com persistência eu conseguir ter um excelente aproveitamento. Obrigado
Meu código:
<meta charset="UTF-8">
<input />
<button>Compare com meu segredo</button>
<script>
function sorteia() {
return Math.round(Math.random() * 10);
}
function sorteiaNumeros(quantidade) {
var segredos = [];
var num = 0;
while (num < quantidade) {
var numeroAleatorio = sorteia();
var achou = false;
if (numeroAleatorio != 0) {
for (var posicao = 0; posicao < segredos.length; posicao++) {
if (segredos[posicao] == numeroAleatorio) {
achou = true;
break;
}
}
if (achou == false) {
segredos.push(numeroAleatorio);
num++;
}
}
}
return segredos;
}
var segredos = sorteiaNumeros(2);
console.log(segredos);
var entrada = document.querySelector("input");
entrada.focus();
function verifica() {
var achou = false;
for (var posicao = 0; posicao < segredos.length; posicao++) {
if (entrada.value == segredos[posicao]) {
alert("Voce ACERTOU!");
achou = true;
break;
}
}
if (achou == false) {
alert("Você ERROU!!!!");
}
entrada.value = "";
entrada.focus();
}
var botao = document.querySelector("button");
botao.onclick = verifica;
</script>