2
respostas

Código do Jogo de Advinhação

Eu tive alguns problemas para fazer o código e isso acontece de vez em quando, ai ocorre que admito ter dado uma olhadinha na solução do professor e pra minha surpresa estavam, fora as frases recomendadas e a referencia ao "n" no bloco da função sorteia(n), quase tudo igual ou tecnicamente igual. Então quebrando a cabeça aqui entendi que o atributo "n" teria duas alternativas para conservar o meu código: ou era substituido por um número para poder ser trabalhado pelo Math.round(Math.random()10) ou era apagado deixando a função como uma função sorteia(). Assim o meu código ficou, como exercício particular (explicação continua após o código):

<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()*10);
    }
var numeroPensado = sorteia();

var chute = parseInt(prompt("Digite seu chute aqui"));

if(chute == numeroPensado) {
    mostra("você acertou!!! Eu tinha pensado no número " + numeroPensado)
}; 
if(chute < numeroPensado) {
    mostra("Errroouu! O número é pensado é maior que o número que vc escolheu. O número pensado é: " + numeroPensado)
};
if(chute > numeroPensado) {
    mostra("Errroouu! O número é pensado é menor que o número que vc escolheu. O número pensado é: " + numeroPensado)
}
</script>

Funciona, mas a proposta do professor era mesmo que a função sorteia() tivesse o parâmetro n, para o programador conseguir alterar o número a ser retornado pelo Math.round(Math.random()) de maneira simples. Então acolhi a solução proposta na página e fiz a função sorteia(n) conforme está lá. O código final e funcional abaixo:

<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()*10);
    }
var numeroPensado = sorteia();

var chute = parseInt(prompt("Digite seu chute aqui"));

if(chute == numeroPensado) {
    mostra("você acertou!!! Eu tinha pensado no número " + numeroPensado)
}; 
if(chute < numeroPensado) {
    mostra("Errroouu! O número é pensado é maior que o número que vc escolheu. O número pensado é: " + numeroPensado)
};
if(chute > numeroPensado) {
    mostra("Errroouu! O número é pensado é menor que o número que vc escolheu. O número pensado é: " + numeroPensado)
}



</script>
2 respostas

Olá, Angelo, tudo bem?

Testei o seu código e funciona bem, parabéns!

E sim, ao usarmos as funções ela nos possibilita fazer manutenção no código mais facilmente, fazendo apenas a alteração na sua instrução ou nos parâmetros!

Recomendo, que caso se sinta confortável em compartilhar seu conhecimento, interagir com outros estudantes, trocar experiências e fazer networking, que participe do Discord oficial da Alura de alunas e alunos:

Caso tenha dúvidas, estarei à disposição para te ajudar!

Grande abraço e bons estudos!

Oi! Grato pelo feedback!