1
resposta

Correção do código. Gostaria de saber se meus comentários estão corretos.

<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>
1 resposta

Oii Thyago, tudo bom?

Colocar comentários no código é uma boa prática de programação, pois assim facilita a manutenção do código para o programador que for dar manutenção no código, entretanto não é necessário comentar cada linha de código como você fez, tipo, explicar o que aquela variável está guardando. Apesar de você ter colocado cada comentário corretamente. Seria mais interessante fazer comentários pequenos e por trechos de códigos, exemplo:

//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) {
......
}

Dessa forma, já fica legível o seu código. No mais, parabéns :)

Continue estudando e praticando, logo estará fera.

Qualquer dúvidas, estamos à disposição sempre!