1
resposta

[Projeto] Desafio Jogo, Resolução

int numeroAleatorio = new Random().Next(1, 100);

Console.WriteLine(@"
███╗░░██╗██╗░░░██╗███╗░░░███╗███████╗██████╗░░█████╗░  ░██████╗███████╗░█████╗░██████╗░███████╗████████╗░█████╗░
████╗░██║██║░░░██║████╗░████║██╔════╝██╔══██╗██╔══██╗  ██╔════╝██╔════╝██╔══██╗██╔══██╗██╔════╝╚══██╔══╝██╔══██╗
██╔██╗██║██║░░░██║██╔████╔██║█████╗░░██████╔╝██║░░██║  ╚█████╗░█████╗░░██║░░╚═╝██████╔╝█████╗░░░░░██║░░░██║░░██║
██║╚████║██║░░░██║██║╚██╔╝██║██╔══╝░░██╔══██╗██║░░██║  ░╚═══██╗██╔══╝░░██║░░██╗██╔══██╗██╔══╝░░░░░██║░░░██║░░██║
██║░╚███║╚██████╔╝██║░╚═╝░██║███████╗██║░░██║╚█████╔╝  ██████╔╝███████╗╚█████╔╝██║░░██║███████╗░░░██║░░░╚█████╔╝
╚═╝░░╚══╝░╚═════╝░╚═╝░░░░░╚═╝╚══════╝╚═╝░░╚═╝░╚════╝░  ╚═════╝░╚══════╝░╚════╝░╚═╝░░╚═╝╚══════╝░░░╚═╝░░░░╚════╝░
");
Console.WriteLine("O número secreto vai de 1 a 100, você consegue descobrir qual é?");
Console.Write("\n - Escreva um número entre 1 e 100: ");
string numero = Console.ReadLine()!;
int numeroInt = int.Parse(numero);
int tentativas = 0;

while (numeroInt != numeroAleatorio)
{
    if (numeroInt <= 0 || numeroInt > 100)
    {
        Console.WriteLine("\nNúmero inválido, por favor escolha um número entre 1 e 100, tente outra vez!");
    }
    else if (numeroInt > numeroAleatorio)
    {
        Console.WriteLine("\nSeu número é maior do que o número secreto, tente outra vez!");
    }
    else
    {
        Console.WriteLine("\nSeu número é menor do que o número secreto, tente outra vez!");
    }

    tentativas++;
    Console.Write(" - Escreva um número entre 1 e 100: ");
    numero = Console.ReadLine()!;
    numeroInt = int.Parse(numero);
}
Console.WriteLine(@"
░█████╗░░█████╗░███████╗██████╗░████████╗░█████╗░██╗░░░██╗██╗
██╔══██╗██╔══██╗██╔════╝██╔══██╗╚══██╔══╝██╔══██╗██║░░░██║██║
███████║██║░░╚═╝█████╗░░██████╔╝░░░██║░░░██║░░██║██║░░░██║██║
██╔══██║██║░░██╗██╔══╝░░██╔══██╗░░░██║░░░██║░░██║██║░░░██║╚═╝
██║░░██║╚█████╔╝███████╗██║░░██║░░░██║░░░╚█████╔╝╚██████╔╝██╗
╚═╝░░╚═╝░╚════╝░╚══════╝╚═╝░░╚═╝░░░╚═╝░░░░╚════╝░░╚═════╝░╚═╝");
Console.WriteLine("\nParabéns! Você acertou o número em {0} tentativas!", tentativas);
1 resposta

Olá, Willian. Tudo bem?

Obrigado por compartilhar seu código com a gente.

Muito bom como você estruturou o jogo para adivinhar o número, especialmente o uso do Random().Next para gerar o número aleatório. Essa implementação ficou bem clara e é uma ótima base para o jogo. Aproveitando a sua ideia, você poderia explorar um pouco mais o uso do do-while para a repetição do loop, o que garantiria que o código fosse executado pelo menos uma vez, mesmo antes de checar a condição. Aqui está um exemplo de como você pode usá-lo:


do
{
    // Código para solicitar e validar o número
} while (numeroInt != numeroAleatorio);

Esse método seria útil se você quiser garantir que o bloco de código seja executado ao menos uma vez, sem depender de uma condição inicial.

Parabéns pela solução.

Conte com o apoio do Fórum. Abraços e bons estudos!