Olá, Gabriel! Tudo bem?
Pelo que vejo, você conseguiu implementar corretamente o jogo de adivinhação em C#. Seu código está bem estruturado e organizado. Parabéns!
A lógica do jogo está correta: você gera um número aleatório entre 1 e 100, pede para o usuário adivinhar o número e informa se o número escolhido é maior ou menor que o número secreto. O laço de repetição do-while
permite que o usuário continue tentando até acertar o número, o que está totalmente de acordo com o que foi pedido na atividade.
A única coisa que eu adicionaria ao seu código é um tratamento de exceção para o caso do usuário digitar algo que não seja um número. Isso pode ser feito utilizando o método int.TryParse
em vez de int.Parse
. Aqui está um exemplo de como poderia ser:
int valorChute;
do
{
Console.Write("\nDigite um numero de 1 a 100: ");
bool isNumber = int.TryParse(Console.ReadLine(), out valorChute);
if (!isNumber)
{
Console.WriteLine("Por favor, digite um número válido.");
continue;
}
// Resto do seu código...
} while (!RespostaCerta);
Neste exemplo, o método int.TryParse
tenta converter a string digitada pelo usuário para um número inteiro. Se a conversão for bem-sucedida, o método retorna true
e atribui o número convertido à variável valorChute
. Se a conversão falhar (por exemplo, se o usuário digitar uma letra), o método retorna false
e valorChute
será zero. Nesse caso, o programa exibe uma mensagem pedindo para o usuário digitar um número válido e continua com a próxima iteração do laço.
Espero ter ajudado e bons estudos!