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

Dúvida e esclarecimento - Jogo do Adivinha

Bom dia pessoal, gostaria de saber pq o instrutor teve a necessidade de criar a function sorteia(n)? não seria mais simples gerar/sortear o número na variável?

<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 == numeroPensado) 
    {
        mostra("Uau! Você acertou, pois eu pensei no " + numeroPensado);
    } 

    else 
    {
    if(chute > numeroPensado) 
    {
        mostra("Você errou! Seu chute é maior que o número pensado!");
    } 
    else 
    {
        mostra("Você errou! Seu chute é menor que o número pensado!");
    }

    }
</script>
2 respostas
solução!

Olá, Lucas!

Ao definir a função sorteia(n), acabamos melhorando nosso código em 2 aspectos: Legibilidade e Manutenibilidade!

É muito mais fácil saber o que a função sorteia(n) faz somente ao ler seu nome. Não temos essa vantagem se somente utilizarmos as funções do JS.

Agora, imagine que queiramos sortear 10 números diferentes e atribuir a 10 variáveis diferentes. Com a implementação da função sorteia(), se quisermos mudar algum detalhe de como o número vai ser sorteado, basta alterar na função e a mudança se propagará para todas as chamadas dessa função. Porém, se utilizarmos as funções do JS diretamente em cada variável, precisaríamos alterar 10 vezes, o que daria muito mais trabalho.

Espero ter ajudado!

Boa sorte em seus estudos!

Obrigado, Mateus! Me esclareceu muito!