Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

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!