Nessa resolução, tentei implementar ao máximo o conceito de funções, o qual aprendemos durante as lições anteriores. Viu algum erro ou tem alguma sugestão? Só comentar! ;-)
<meta charset="UTF-8">
<script>
//quebra a linha no html
function pulaLinha() {
document.write("<br><br>");
}
//escreve no html o argumento passado
function mostra(frase) {
document.write(frase);
pulaLinha();
}
//retorna o número - inteiro - que o user digitar
function perguntaNumero(intervalo) {
return parseInt(prompt("Pense em um número até " + intervalo + " e escreva abaixo."));
}
//retorna um número aleatório - inteiro - de acordo com a entrada
function sorteiaNumero(intervalo) {
return Math.round(Math.random() * intervalo);
}
//em caso de erro do chute, informa se o número digitado pelo user é maior ou menor que o número correto
function comparaNumero(numChute, numCorreto) {
if(numChute > numCorreto) {
mostra("O seu número " + numChute + " é MAIOR que o número correto " + numCorreto + ".");
} else {
mostra("O seu número " + numChute + " é MENOR que o número correto " + numCorreto + ".");
}
}
//compara o numero digitado pelo user com o gerado pela função "sorteiaNumero"
function validaResposta(numChute, numCorreto) {
if(numChute == numCorreto) {
mostra("PARABÉNS! Você acertou.");
} else {
mostra("ERROU! O número correto é " + numCorreto + ".");
comparaNumero(numChute, numCorreto);
}
}
//função principal que define o intervalo do número gerado, compara com o digitado pelo user e diz ao user se acertou ou não.
function principal(intervalo) {
validaResposta(perguntaNumero(intervalo), sorteiaNumero(intervalo));
}
principal(100);
</script>