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

Testes com o jogo_advinhação

Amigos

Fiz uma adaptação do script da aula Jogo da advinhação, para que os resultados ao invés de ser de 0 - 10. Acredito que ficou bom, mas gostaria que dessem uma olhada no que foi feito. para ver se posso incrementar mais alguma coisa, ou se está verboso demais, ou o que posso fazer como desafio para treinar o conteúdo...

Deixo aqui o código copiado:

<meta charset="UTF-8">

<script>

    function pulaLinha() {

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

    function mostra(frase) {

        document.write(frase);
        pulaLinha()
        }

 var numeroPensado = Math.round(Math.random()*10)
 var chute = parseInt(prompt("Digite um número de 0 a 5"))
 if (numeroPensado > 5) {
    var numeroPensado = numeroPensado - 5
        if (chute == numeroPensado) {
            mostra("Parabéns, você acertou!");
            }
        else {
            mostra("Você errou! O número pensado era: " + numeroPensado);
            }
    }
2 respostas
solução!

Olá, Alex, tudo bem?

Muito legal que você tenha feito uma solução alternativa! :)

Você postou seu código completo? Porque do jeito que ele está, nada vai ser imprimido na tela se o número gerado for menor ou igual a 5...

De qualquer forma, acredito que você queira que o número gerado seja entre 0 e 5, correto?

Nesse caso você pode simplesmente trocar o código de numeroPensado para o seguinte:

var numeroPensado = Math.round(Math.random()*5)

Ou seja, nós podemos multiplicar Math.random pelo número máximo que queremos que numeroPensado alcance! Isso acontece porque o número gerado por Math.random sempre é entre 0 e 1, como você pode ver na documentação.

Assim, você não precisa mais fazer a verificação if (numeroPensado > 5) ou diminuir 5 dele! Seu código ficaria assim:

var numeroPensado = Math.round(Math.random()*5)

var chute = parseInt(prompt("Digite um número de 0 a 5"))

if (chute == numeroPensado) {
    mostra("Parabéns, você acertou!");
} else {
    mostra("Você errou! O número pensado era: " + numeroPensado);
}

Espero ter te ajudado! Qualquer dúvidas estaremos aqui para te auxiliar. Continue assim e bons estudos! :)

acredito que não esta completo. eu coloquei uma condição if para números maiores que 5 subtrair por 5. Contudo, a solução apresentada de vcs parece ser melhor.

obrigado