1
resposta

Resolução com "do... while"

Utilizei a estrutura de "do... while", fazendo todas as verificações e mensagens ao usuário dentro dela. A cada execução do programa é "sorteado" um intervalo diferente para o jogo, que é informado ao usuário antes de seu "chute". O valor do limite superior deste intervalo por sua vez é utilizado para o cálculo do "numero pensado". Além disso, o valor digitado pelo usuário sofre uma "verificação" para garantir que esteja dentro dos limites aceitáveis: maior ou igual a 0 e menor ou igual ao limite aleatório (que estará sempre contido no intervalo [1, 101]). Por fim, para uma melhor UX, utilizei "alert()" no lugar de "document.write()".

<meta charset="UTF-8" />

<script>
  function pulaLinha() {
    document.write("<br><br>");
  }

  function mostra(texto) {
    alert(texto);
    pulaLinha();
  }

  function sorteiaNumero(n) {
    var numeroSorteado = Math.round(Math.random() * n);

    return numeroSorteado;
  }

  var numeroLimite = Math.round(Math.random() * 100+1);
  console.log("Limite:" + numeroLimite);

  var numeroPensado = sorteiaNumero(numeroLimite);
  console.log("Pensado:" + numeroPensado);

  do {
    var chute = parseInt(prompt("Digite um número entre 0 e " + numeroLimite));
    console.log("Chute: " + chute);
    if (chute >= 0 && chute <= numeroLimite) {
      if (chute < numeroPensado) {
        mostra("Você errou! Seu chute foi MENOR do que o número pensado!");
      } else if (chute > numeroPensado) {
        mostra("Você errou! Seu chute foi MAIOR do que o número pensado!");
      } else {
        mostra("Parabéns! Você acertou o número pensado: " + numeroPensado);
      }
    } else {
      mostra(
        "O número deve estar compreendido entre 0 e " + numeroLimite + "!"
      );
    }
  } while (chute != numeroPensado);
  console.log("FIM");
</script>
1 resposta

Olá, Bruno! Como vai?

Ficou excelente, parabéns!

Ficou com alguma dúvida durante a resolução?

Caso tenha ficado não deixe de compartilhar com a gente.

Continue praticando.

Bons estudos e até mais! =)