<meta charset="UTF-8">
<input/>
<button>Clique aqui</button>
<script>
//Essa função sorteia um número randomico de 0-10.
function sorteia() {
//Esse código garante que o número retorne para a variável "numeroAleatorio".
return Math.round(Math.random() * 10);
}
//Essa função vai definir quantos números vão ser sorteados e evitar que eles sejam repetidos ou igual a 0.
function sorteiaNumeros(quantidade) {
//Essa variável vai guardar os valores dentro do array.
var segredos = [];
//Essa variável vai servir como um contador, evitando que o looping nunca acabe.
var numero = 1;
//Esse while serve para garantir que não vá existir números repetidos.
while(numero <= quantidade) {
//Essa variável vai gerar o número aleatório.
var numeroAleatorio = sorteia();
//Caso o número não exista essa váriavel vai permitir que o looping continue para o próximo número.
var achou = false;
//Esse if garante que o número não seja 0.
if(numeroAleatorio !== 0) {
//Esse for faz a varredura dos números e permite que o looping prossiga caso não exista nenhum número repetido.
for(var posicao = 0; posicao < segredos.length; posicao++) {
//Esse if garante que caso o número seja repetido ele não vá ser adicionado ao Array.
if(segredos[posicao] == numeroAleatorio) {
//Caso o número seja repetido achou vai ser alterado para true e impedindo que o looping continue juntamente com o "break;"
achou = true;
break;
}
}
//Caso o achou continue com o valor "false" o looping vai continuar "chutando" o número da vez para dentro do array e passando para o próximo looping.
if(achou == false) {
segredos.push(numeroAleatorio);
numero++;
}
}
}
//Esse "return tem a função de retornar o resultado do looping completo para a variável segredos."
return segredos;
}
//Essa variável recebe todo o valor gerado pelo looping da função sorteiaNumeros.
var segredos = sorteiaNumeros(5);
//Mostra os valores de segredos no console do navegador.
console.log(segredos);
//Essa variável trás para o mundo JavaScript funções em HTML.
var input = document.querySelector("input");
//Dá foco ao campo de texto sem necessidade do usuário precisar selecionar o mesmo.
input.focus();
//Essa função verifica se o número digitado é igual ao número gerado pela função sorteia números.
function verifica() {
//Achou novamente vai servir de parametro para a varredura dos itens do array.
var achou = false;
//Esse for vai fazer a varredura dos campos do array em busca dos números compatíveis com os gerados pela funão sorteia números.
for(var posicao = 0; posicao < segredos.length; posicao++) {
//Esse if garante que caso você digite um valor igual a um dos existentes no array ele mostre um pop-up escrito "Você acertou!".
if(input.value == segredos[posicao]) {
//Gera o alerta desejado.
alert("Você acertou!");
//Caso o valor seja igual a um dos valores do array a variável achou vai receber "true;" como valor.
achou = true;
//Esse break evita que seja exibido outro alerta a não ser "Você acertou!".
break;
}
}
//Caso o input não seja igual a um dos valores do array a função vai continuar sendo executada.
//Esse if é responsável por caso o valor digitado no input não seja igual a qualquer valor dentro do array exibir "Você errou!".
if(achou == false) {
//Gera o alerta desejado.
alert("Você errou!");
}
//Deixa com que o usuário entre com o valor do input.
input.value = "";
//Dá foco ao input sem necessidade de selecionar o mesmo.
input.focus();
}
//Trás uma função do mundo HTML para o mundo JavaScript.
var button = document.querySelector("button");
//Clicando no botão vai dar inicio a instrução "verifica".
button.onclick = verifica;
</script>