4
respostas

Passo-a-passo me expliquem

Podem me explicar o passo a passo d como funciona o programa?


<meta charset="UTF-8">

<input/>
<button>Compare com o meu segredo</button>

<script>
    function sorteia() {

       return Math.round(Math.random() * 10);

    }

    function sorteiaNumeros(quantidade) {

        var segredos = [];

        var numero = 1;

        while(numero <= 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);
                           numero++;
                     }
              }

        }

        return segredos;

    }

    var segredos = sorteiaNumeros(3);

    console.log(segredos);

    var input = document.querySelector("input");
    input.focus();

    function verifica() {

       var achou = false;

       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 = "";
       input.focus();

    }

    var button = document.querySelector("button");

    button.onclick = verifica;

</script>
4 respostas

Oi Victor tudo bem?

Editei o seu tópico para mostrar o código. É só clicar no botão INSERIR CÓDIGO e colocar o código entre a tríade de acentos agudos.

Vamos lá irei comentar o código todo, os comentários de cada linha aparecem como comentários de código.

O objetivo da página é sortear um número entre 1 e 3 e o usuário tentar acertar.

<meta charset="UTF-8"> <!-- Define os caracteres como padrão UTF-8 para aceitar acentos, e outros caracteres da lingua portuguesa em geral-->

<input/> <!-- Cria um input que é o campo onde você vai digitar o número-->
<button>Compare com o meu segredo</button> <!-- Esse é o botão onde você vai clicar para executar o programa-->

<script> <!-- script é a tag onde contém o código Javascript -->
    function sorteia() { //função sorteia que sorteia um número decimal de 0 a 1 multiplica por 10, arrendonda para cima e retorna o resultado. Uma função começa com a palavra reservada function logo após vem o nome da função, dentro dos parênteses vão os parâmetros da função, se não tiver parâmetros os parênteses ficam vazios, as chaves mostram o inicio e o fim da função.

       return Math.round(Math.random() * 10); //Math.round é uma função que arredonda para cima um número, Math.random() é uma função que gera um número aleatório decimal de 0 a 1, com *10 multiplicamos o número aleatório e no Math.round arredondamos para cima, return é comando que retorna o resultado da função para o programa principal

    }

    function sorteiaNumeros(quantidade) { // função que sorteia os números , quantidade é a quantidade de números a serem sorteados

        var segredos = []; // define um vetor vazio chamado segredos

        var numero = 1; //define a variável numero sendo igual a 1

        while(numero <= quantidade) { //laço while que enquanto a variável for menor ou igual a quantidade executa o código dentro do bloco entre chaves

              var numeroAleatorio = sorteia(); //sorteia um número usando a função sorteia() e guarda na variável numeroAleatoria
              var achou = false; // define a variavel achou como falso 

              if (numeroAleatorio !== 0) { //bloco se que se a variável numeroAleatorio for diferente de 0 executa o código do bloco
                     for(var posicao = 0; posicao < segredos.length; posicao++) { // laço for cuja variavel iterativa é posicao que começa em 0 e vai até o comprimento do vetor segredos e o passo da iteração é 1

                           if(segredos[posicao] == numeroAleatorio){ // bloco se que se o número do vetor segredos da seleção segundo a variavel da posicao for igual ao numeroAleatorio então executa o bloco a seguir
                                achou = true; // se achou então achou é verdadeiro
                                break; // sai do bloco for
                           }

                     }

                     if (achou == false) { //se achou for igual a falso então adciona o numeroAleatorio, isso serve para não colocar números repetidos dentro do vetor segredos
                           segredos.push(numeroAleatorio); // insere o numeroAleatorio no fim do vetor segredos
                           numero++; // faz a iteração da variável número que a variável iterativa do while
                     }
              } // fim do bloco for

        } // fim do bloco while

        return segredos; // retorna o vetor que contém os segredos

    } //fim da função sorteiaNumeros
//estamos no programa principal agora que vai ser executado assim que a página for carregada
    var segredos = sorteiaNumeros(3);  //variável segredos é o vetor que é retornado da função sorteiaNumeros como 3 é o parametro da função então sabemos que esse vetor tem 3 números

    console.log(segredos); //escreve no console do navegador (F12) o vetor segredos

    var input = document.querySelector("input"); // define a variável input sendo igual ao elemento input da página
    input.focus(); //dá foco ao elemento input

    function verifica() { // função verifica() que ao clicar no botão da página vê se o número do input é igual a um dos números do vetor segredos

       var achou = false; // define a variável achou como falso , porque o programa ainda não achou

       for(var posicao = 0; posicao < segredos.length; posicao++) { //laço for cuja variável iterativa é posicao que começa em 0 e vai até o comprimento do vetor segredos, o passo da iteração é 1

              if(input.value == segredos[posicao]) { // se o valor do input for igual a o enésimo elemento (posicao) do vetor executa o bloco a seguir

                     alert("Você ACERTOU!"); //mostra uma janela de alerta dizendo que você acertou

continua no próximo post pois acabou os caracteres por post.

          achou = true; // definie a variável achou como verdadeiro
                     break; //sai do loop for
              } 
       } //fim do laço for

       if(achou == false) { //se achou for igual a falso é porque errou o número

              alert("Você ERROU!"); // mostra uma janela de alerta dizendo que você errou
       }

       input.value = ""; //limpa o input 
       input.focus(); //põe o foco no input

    }

    var button = document.querySelector("button"); // define a variável button como o botão da página

    button.onclick = verifica; // define que ao clicar no botão executa a função verifica

</script> <!-- fim do script -->

Ufa! Terminou! Espero ter ajudado!!! Qualquer dúvida não deixe de perguntar.

Me ajudou muito tambem. vou entrar nesta aula e agora já entro com maior clareza

Fala Victor, tranquilo?

Sua dúvida foi solucionada? :)