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

Não sei aonde está meu erro

Eu fiz o exercício proposto, mas não tinha colocado o function sorteia(n){ return Math.round(Math.random() * n); e nem coloquei o "else" e esteva funcionando perfeitamente. A principio eu não coloquei pois estava fazendo por partes antes dessa instrução, e testando o método sem o "sorteia".

Como o jeito que fiz estava funcionado, fiz o "sorteia" como o exercício propôs, porem não importa o numero que eu coloco no (n) e o que coloco na hora da pergunta para o teste, as respostas estão indo aleatórias até mesmo quando coloco o valor certo de (n).

Quando eu coloco o "else" o programa não roda. Não estou visualizando o meu erro, ja estou viciado no que escrevi. alguém pode me ajudar?

<meta charset="UTF-8">

<script>

function pulaLinha() {
    document.write("<br><br>");
}

function mostra (frase) {
    document.write (frase);
    pulaLinha();
}

function sorteia(n) {
 return Math.round(Math.random() * n);
}

mostra ("<h1>Jogo de adivinha!</h1>");

   var palpite = parseInt (prompt("Em que numero estou pensando?"));

       var numeroPensado = sorteia(25);


       if (palpite == numeroPensado){

mostra ("Parabéns!!! Você acertou!, o numero que eu pensei foi o: " + numeroPensado );
       } 
           if (palpite > numeroPensado){
               mostra ("Você errou :( O número que você pensou é maior do que o que eu escolhi");

           }

if (palpite < numeroPensado)  {

    mostra ("Você errou :( O número que você pensou é menor do que o que eu escolhi");

}




</script>
11 respostas

Você poderia postar o seu código? ficaria melhor para ajudá-lo!

Eu coloquei no corpo do post mas não aparece, quando eu coloco para editar ele está lá, vou colocar aqui na resposta

Sempre que quiser mostrar o seu código no fórum, clique na opção "Inserir Bloco de Código" que está acima do bloco de texto, ou use as teclas "Ctrl+Alt+C" todas ao mesmo tempo.

Valeu, não sabia, primeira vez que eu uso hehehe

Que isso, estamos aqui pra aprender xD

solução!

Acho que eu entendi a sua pergunta, no caso o "n" que você muda no var numeroPensado = sorteia(25); não será o numeroPensado, na verdade é o máximo número aleatório que irá aparecer.

Assim ficaria o código com else:

<meta charset="UTF-8">

<script>

    function pulaLinha() {
        document.write("<br><br>");
    }

    function mostra(frase) {
        document.write(frase);
        pulaLinha();
    }

    function sorteia(n) {
        return Math.round(Math.random() * n);
    }

    mostra("<h1>Jogo de adivinha!</h1>");
    var numeroPensado = sorteia(25);
    var palpite = parseFloat(prompt("Em que numero estou pensando?"));

    if (palpite == numeroPensado) {

        mostra("Parabéns!!! Você acertou!, o numero que eu pensei foi o: " + numeroPensado);
    } else if (palpite > numeroPensado) {
        mostra("Você errou :( O número que você pensou é maior do que o que eu escolhi");

    } else if (palpite < numeroPensado) {
        mostra("Você errou :( O número que você pensou é menor do que o que eu escolhi");
    }
</script>

Então ta tudo certo? eu que entendi a proposta do exercício errado hehehe. Então usei o (25) pra limitar o numero de possiveis numeros randomicos e não que (25) é o numero que eu escolhi.

e quanto ao uso do "else", nesse caso pq não funciona quando adiciono ele no código? É realmente nescessário usar ele?

Exatamente!!! No caso do else, digamos que com ele o seu código ficará mais limpo, usando somente o if ele ficará muito poluído, ao longo do tempo você vai entender mais, então até lá continue usando.

Vlw, muito obrigado pela a ajuda!