1
resposta

Exercício - Adivinha

<meta charset="UTF-8">

<script>

    /*
        Primeiramente, no arquivo jogo_adivinha.html, pedimos para o 
        computador "pensar" em um número aleatório por meio do Math.random()
        e multiplicamos esse valor por 100, assim, teremos um número 
        entre 0 e 100. Por fim, arredondamos o valor para obtermos 
        um número inteiro. Teremos o seguinte código:
    */ 


    function pulaLinha() {

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

    function mostra(frase) {

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

    /* 

    **** DESAFIOS **** 

    1-  Você pode criar uma função sorteia que recebe um número n e 
        sorteia um número entre 0 a n, retornando esse valor. 
        Dessa forma, em vez de escrever var numeroPensado = Math.round(Math.random() * n);
        você escreveria var numeroPensado = sorteia(n);. 
        Faça essa modificação, criando a nova função e utilize-a.

    2 - Faça com que seu jogo mostre, quando o usuário errar a tentativa, 
        se o número que ele chutou era maior ou menor ao número pensado pelo programa.

    */


   function numero() {
       var numeroPensado = Math.round(Math.random() * 10);
       return numeroPensado;
    }

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

    if(chute == numero()) {

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

        mostra("Você errou! Eu tinha pensado no " + numero());
        pulaLinha();
        maiorOUmenor()
    }

    function maiorOUmenor(){
       if (chute > numero()){

           mostra("O número que você chutou era maior"); 
       } else {

           mostra("O número que você chutou era menor"); 
       } 
       return maiorOUmenor;      
    }

</script>

Eu consegui resolver o problema removendo a função que estava gerando outro número aleatório...

<meta charset="UTF-8">

<script>

    /*
        Primeiramente, no arquivo jogo_adivinha.html, pedimos para o 
        computador "pensar" em um número aleatório por meio do Math.random()
        e multiplicamos esse valor por 100, assim, teremos um número 
        entre 0 e 100. Por fim, arredondamos o valor para obtermos 
        um número inteiro. Teremos o seguinte código:
    */ 


    function pulaLinha() {

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

    function mostra(frase) {

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

    /* 

    **** DESAFIOS **** 

    1-  Você pode criar uma função sorteia que recebe um número n e 
        sorteia um número entre 0 a n, retornando esse valor. 
        Dessa forma, em vez de escrever var numeroPensado = Math.round(Math.random() * n);
        você escreveria var numeroPensado = sorteia(n);. 
        Faça essa modificação, criando a nova função e utilize-a.

    2 - Faça com que seu jogo mostre, quando o usuário errar a tentativa, 
        se o número que ele chutou era maior ou menor ao número pensado pelo programa.

        Quando você antes de você chutar o numero no prompt você já havia chamado a função numero que escolheu um valor entre 0 e 10,
        (Vamos imaginar que foi sorteado o valor 3) e você chute 5, quando você verifica se chute == numero() você faz com que o 
        programa gere um novo numero (Gerou o numero 9), então você errou o numero e vai consultar se o chute é maior ou menor, 
        se chute > numero() aqui já ta gerando novamente um numero aleatório, imagina que esse numero é 5, você não tem caso de verificação caso o chute seja igual.


    */



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


    var numeroPensado = Math.round(Math.random() * 10);

    if(chute == numeroPensado) {

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

    } else {

        mostra("Você errou! Eu tinha pensado no " + numeroPensado);
        pulaLinha();

    }

    if (chute > numeroPensado){

        mostra("O número que você chutou era maior"); 
    } else {

        mostra("O número que você chutou era menor"); 
    }       
</script>

Obrigado pela dica!

1 resposta

Obrigado por compartilhar!

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