3
respostas

Não esta a gerar numero aleatorio

Boa tarde pessoal eu tentei pegar a solução dada a este problema mais no meu esta dar um erro o codigo é este

<meta charset="UTF-8">
<input/>
<button>Compara meu segredo</button>
<script>
function verifica(){
    if(segredo==input.value){
        alert("Parabens voce acertou!"+ segredo);
        }
        else{
        alert("Infelizmente voce errou"+ segredo);
        }
    }
    input.value= "";
    input.focus();
    geraSegredo();

    var segredo=0;
    function geraSegredo(){
        segredo=Math.round(Math.random()*10);
    }

    geraSegredo();
    var input=document.querySelector("input");
    var button=document.querySelector("button");
    button= verifica;
    </script>
3 respostas

Pode postar o código completo aqui ou no codepen?

Olá Joel, tudo bem?

Antes de tudo, lendo o seu código de cima para baixo percebo que ele não está exatamente em ordem. Procure sempre colocar as variáveis em cima de tudo e em baixo as funções.

Ao rodar o código no browser, o Console Javascript nos informa que ha um erro com input.value = ""; e input.focus(); que eu corrigi apenas colocando os dois dentro da function verifica()

Depois percebemos que a function geraSegredo() é chamada duas vezes, gerando assim não um, mas dois segredos! Você pode evitar linhas de código executando o cálculo Math.round(Math.random()*10); diretamente na var segredo sem precisar da função!

E por fim, encontramos o porque o código não nos diz qual é esse segredo... faltou algo nessa linha: button= verifica; Consegue se lembrar do que falta?

Se ainda tiver dúvidas, escreve aqui em baixo!

E moderadores, por favor, me corrijam se eu disse algo errado! haha

Grande abraço!

Oi Joel Pedro Garcia permanece a dúvida ou já foi solucionada ?

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software