Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Eu quero ser o novo Akinator!

<meta charset="UTF-8">
<script>

    function pulaLinha() {

        document.write("<br>");
    }

    function mostra(frase) {

        document.write(frase);
        pulaLinha();
    }

    function sorteia(n)   {

         return Math.round(Math.random() * n);
    }

    var numeroPensado = sorteia(10)

    var chute = parseInt(prompt("Já pensei. Qual você acha que é?"));

    if(chute > sorteia(10))   {
        mostra("Passou de mais da conta, tenta uma número menor.")

    }

    if(chute < sorteia(10))  {
        mostra("Você está sendo muito humilde, tenta um número mais alto.")
    }

    if(chute == sorteia(10)) {

        mostra("Uau! Você acertou, pois eu pensei no " + numeroPensado);
    }
</script>

Saudações, eu estou fazendo o exercício 13 da aula 06 e surgiu uma dúvida depois de ler e reler a resolução ainda não consigo entender onde estou errando.

Primeiro, no código existe a função sorteia(n) onde n é a variação entre números a serem sorteados (neste caso de 0 a 10), foi por isto que o professor substituiu n por 10 na resolução do exercício? Meu pensamento está correto?

Segundo, quando eu acerto o número sorteado aparece a mensagem de acerto e ainda aparece a mensagem de tentar um número maior ou menor (varia dependendo do numero sorteado) apesar das funções if não possuir => ou =< ainda aparece mais de uma frase. Porque isto acontece?

1 resposta
solução!

Olá, Bello! Tudo bem contigo?

Desculpe a demora em dar um retorno!

Dúvida 01: Exatamente!

Quando o professor cria a função sorteia, essa função espera receber um parâmetro, que neste caso é um número qualquer que chamamos de n

    function sorteia(n)   {

         return Math.round(Math.random() * n);
    }

Quando vamos invocar essa função, inserimos qual é esse número para que seja sorteado dentro dessa função

var numeroPensado = sorteia(10)

Logo esse sorteio será um número até 10.

Já o segundo ponto, perceba que tem comparado chute com sorteia, sendo que a função sorteia já está sendo guardada dentro de uma variável chamada numeroSorteado

    if(chute > sorteia(10))   {
        mostra("Passou de mais da conta, tenta uma número menor.")

    }

    if(chute < sorteia(10))  {
        mostra("Você está sendo muito humilde, tenta um número mais alto.")
    }

    if(chute == sorteia(10)) {

        mostra("Uau! Você acertou, pois eu pensei no " + numeroPensado);
    }

Vamos substituir sorteia(10) por numeroPensado

    if(chute > numeroPensado)   {
        mostra("Passou de mais da conta, tenta uma número menor.")

    }

    if(chute < numeroPensado)  {
        mostra("Você está sendo muito humilde, tenta um número mais alto.")
    }

    if(chute == numeroPensado) {

        mostra("Uau! Você acertou, pois eu pensei no " + numeroPensado);
    }

Agora faça o teste =D

Espero ter ajudado, Bello!

Qualquer dúvida nos procure!

Um abraço e bons estudos