Resolvi fazer meu código e após finalizar, comentar as partes que eu achei mais importantes para fixação, apesar de parecer 'poluído' me ajuda bastante no geral.
O que acharam?
<meta charset = "UTF-8">
<!--cria uma caixa de entrada para o usuario digitar-->
<input/>
<!--cria um botao-->
<button>Compare com o meu segredo</button>
<!--cria o mundo javascript-->
<script>
function sorteia(){
// a função "Math.round" arredonda o valor que a "Math.random" vai aleatoriamente gerar e o * 10 é para limitar a geração de números até 10.
return Math.round(Math.random()*100)
}
// função para sortear numeros de acordo com a quantidade que você quer.
function sorteiaNumeros(quantidade){
var segredos = [];
var numero = 1;
while(numero <= quantidade){
// atribui a funcão sorteia à variavel
var numeroAleatrorio = sorteia();
// usado para verificar se tem o numero 0 e o operador lógico !== faz com que o programa ignore o 0 começando pelo número 1 na contagem.
// !=: representa a palavra “diferente” no operador lógico;
if(numeroAleatrorio !== 0){
var achou = false;
for( var posicao = 0; posicao < segredos.length; posicao++){
// esse if vai procurar se há ou não números repetidos dentro do array.
if(segredos[posicao] == numeroAleatrorio){
achou = true;
break;
}
}
// só executa o if se a variável "achou" for igual à falso.
if(achou == false){
// a função ".push" permite “empurrar” elementos para dentro da lista do array.
segredos.push(numeroAleatrorio);
numero++;
}
}
}
// A declaração return finaliza a execução de uma função e especifica os valores que devem ser retonados para onde a função foi chamada.
return segredos;
}
// criando um vetor para a funçao "sorteiaNumeros" para definirmos quantos itens/números queremos criar dentro dela, que no caso são 4.
var segredos = sorteiaNumeros(10);
// Utilizado para visualizarmos a variável em questão dentro do console (navegador).
console.log(segredos);
// aqui voce usa a funçao que joga o <input/> do HTML para o javascript, ja o atribui a uma variavel chamada input.
var input = document.querySelector("input");
input.focus();
function verifica() {
var achou = false;
// usa-se o for para correr as posiçoes do vetor enquanto o if compara se o numero recebido é igual ao que consta no vetor, se for achou recebe true o break encerra o loop.
for(var posicao = 0; posicao < segredos.length; posicao++) {
if(input.value == segredos[posicao]) {
alert("Você ACERTOU!");
achou = true;
// Função que recarrega a página automaticamente.
location.reload();
break;
}
}
if(achou == false) {
alert("Você ERROU!");
}
// reseta a variavel input para recomeçar o loop e/ou para uma nova entrada/digitação.
input.value = "";
// dá foco ao campo input, onde o usuário digita a informação, não tendo a necessidade de sempre clicar no campo.
input.focus();
}
// tras o button do HTML para o javascript.
var button = document.querySelector("button");
// em português, "on click" significa "no clicar", ou seja, queremos que a verificação seja feita ao clique da determinada função, que neste caso é o button.
button.onclick = verifica;
</script>