Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Minha solução do Jogo

Random numAleatorio = new Random();
int valorSecreto = numAleatorio.Next(1, 100);
bool RespostaCerta = false;
int valorChute = 0;

void MensagemIncial()
{
    Console.WriteLine(@"
░░█ █▀█ █▀▀ █▀█   █▀▄ █▀▀   ▄▀█ █▀▄ █░█ █ █▄░█ █░█ ▄▀█ █▀▀ ▄▀█ █▀█
█▄█ █▄█ █▄█ █▄█   █▄▀ ██▄   █▀█ █▄▀ ▀▄▀ █ █░▀█ █▀█ █▀█ █▄▄ █▀█ █▄█");
    Console.WriteLine("\n+--------------------------------------------------------------------------------------------+");
    Console.WriteLine("| Bem vindo ao Jogo de advinhação!                                                           |");
    Console.WriteLine("| Sorteamos um numero e você precisa descobrir qual é o numero.                              |");
    Console.WriteLine("| Será que esta com sorte hoje?                                                              |");
    Console.WriteLine("+--------------------------------------------------------------------------------------------+");
}

void ProcessoAdivinha ()
{
    do
    {
        Console.Write("\nDigite um numero de 1 a 100: ");
        valorChute = int.Parse(Console.ReadLine()!);

        if (valorChute > valorSecreto)
        {
            Console.WriteLine("O numero escolhido é maior que o valor secreto.");
        }
        else if (valorChute < valorSecreto)
        {
            Console.WriteLine("O numero escolhido é menor que o valor secreto.");
        }
        if (valorChute == valorSecreto)
        {
            Console.WriteLine("Parabéns você acertou!!! ");
            RespostaCerta = true;
        }

    } while (!RespostaCerta);
};

MensagemIncial();
ProcessoAdivinha ();
1 resposta
solução!

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!