Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Dúvida no Ex. 1 da Aula 7 - Desafio final

5 respostas

Não saiu minha dúvida. Ela é: meu código está funcionando mas o programa tá rodando inteiro antes de eu inserir meus números no array. Alguma dica de como inserir os números antes do programa sortear e mostrar os resultados?

''''''

var pulalinha=function(){ document.write(""); } var mostra=function(frase){ document.write(frase); pulalinha(); }

alert("Escolha seis números entre 0 e 60."); var escolhido=[]; var adicionanumero=function(){ var numero=document.getElementById("numero").value; for(i=0;i<6;i++){ } escolhido.push(numero); console.log(escolhido); }

var sorteado=[]; for(i=0;i<6;i++){ sorteado[i]=Math.round(Math.random()*60); }

pulalinha(); pulalinha(); mostra("Seus números são:"+escolhido); mostra("Os sorteados foram:"+sorteado);

var botao=document.getElementById("adiciona"); botao.onclick=adicionanumero

//não consegui postar o código com a tag script

solução!

Olá André.

Primeiramente, lembre-se sempre de colocar o ";" ao final da declaração dos métodos também. Apesar disto normalmente não gerar erro na interpretação do javascript, é uma boa prática mantê-los.

Outra coisa que você tem que considerar é que tudo que é declarado dentro da tag <script> é executado como uma função única caso esteja diretamente definida no corpo da tag. Para poder fazer algo do tipo, você deverá usar um pompt, por exemplo:

prompt("digite o primeiro valor:");

Ou criar um segundo botão que deverá processar tudo.

Como no código de exemplo:

<html>

    <head>
        <meta charset="utf-8">
    </head>
    <body>
        <h4>Informe 6 números:</h4>
        <input id="numero" type="number" />
        <button id="adicionar">Adicionar número</button>
        <button id="processar">Processar resultado!</button>

        <script>
            var pulalinha = function() {
                document.write("<br>");
            };

            var mostra = function(frase) {
                document.write(frase);
                pulalinha();
            };

            var escolhido = [];

            var adicionarNumero = function() {
                if (escolhido.length >= 6) {
                    alert("Já foram escolhidos 6 números.");
                    return;
                }

                var numero = document.getElementById("numero").value;
                escolhido.push(numero);
                document.getElementById("numero").value = null;
            }

            var processarResultado = function() {
                var sorteado = [];
                for (i = 0; i < 6; i++) {
                    sorteado[i] = Math.round(Math.random() * 60);
                }

                pulalinha();
                pulalinha();
                mostra("Seus números são:" + escolhido);
                mostra("Os sorteados foram:" + sorteado);
            };

            var botaoAdicionar = document.getElementById("adicionar");
            botaoAdicionar.onclick = adicionarNumero;

            var botaoProcessar = document.getElementById("processar");
            botaoProcessar.onclick = processarResultado;
        </script>        
    </body>
</html>

Obrigado pelas dicas Bernardo, percebi o que estava fazendo errado. Resolvi usar o prompt, mais simples.