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

Dúvida sobre a minha resolução!

Fala galera, até consegui aqui uma resolução com um bocado de pesquisa e ajuda externa, mas preciso entender melhor alguns pontos, pois usei no código mas não sei o fundamento, o porquê de ser usado.

Eu separei o código em funções e fui chamando de acordo a escolha do usuário, se possível, me direcione dicas para que fique um código "certo".

using System;

class Program
{
    static void Main(string[] args)
    {
        Random random = new Random();
        int aleatorio = random.Next(1, 101);
        int tentativas = 0;
        int palpite;

        Menu();

        void Menu()
        {
            Console.WriteLine(@"
░░█ █▀█ █▀▀ █▀█   █▀▄ █▀█   █▀█ ▄▀█ █░░ █▀█ █ ▀█▀ █▀▀
█▄█ █▄█ █▄█ █▄█   █▄▀ █▄█   █▀▀ █▀█ █▄▄ █▀▀ █ ░█░ ██▄
");
            Console.WriteLine("\nSeja bem vindo!");
            Console.WriteLine("Selecione uma das opções abaixo ...");
            Console.WriteLine();
            Console.WriteLine("|---------------|");
            Console.WriteLine("|(1) Para JOGAR |");
            Console.WriteLine("|(2) Para SAIR  |");
            Console.WriteLine("|---------------|");
            int opcaoMenu = int.Parse(Console.ReadLine()!);

            if (opcaoMenu == 1)
            {
                Jogo();
            }
            else if (opcaoMenu == 2)
            {
                Sair();
            }
            else
            {
                Console.Clear();
                Menu();
            }
        }
        

        void Jogo()
        {
            Console.WriteLine("Tente adivinhar um número entre 1 e 100.");
            do
            {
                Console.Write("Digite o seu palpite: ");
                palpite = Convert.ToInt32(Console.ReadLine());
                tentativas++;

                switch (Math.Sign(palpite - aleatorio))
                {
                    case -1:
                        Console.WriteLine("O número que você digitou é MENOR que o número aleatório.");
                        break;
                    case 1:
                        Console.WriteLine("O número que você digitou é MAIOR que o número aleatório.");
                        break;
                    default:
                        Console.WriteLine($"Parabéns você acertou o número em {tentativas} tentativas(s).");
                        break;
                }
            } while (palpite != aleatorio);
            Console.WriteLine("O jogo acabou!");
        }

        void Sair()
        {
            Console.WriteLine("O jogo foi encerrado pelo usuário!");
        }
    }   
}

Não sei o que siginifica e nem quando devo usar:

using System

class Program

Math.Sign

1 resposta
solução!

Olá,

Em C#, using System; é uma diretiva de uso que permite acessar tipos e membros definidos no namespace System. O namespace System contém muitas classes e tipos fundamentais que são essenciais para o desenvolvimento de aplicativos em C#. Algumas das funcionalidades fornecidas pelo System incluem manipulação de arquivos, entrada e saída, gerenciamento de exceções, manipulação de strings, manipulação de datas e horas, e muito mais.

class é a palavra reservada utilizada para dizer ao código que você está iniciando uma classe.

O método Math.Sign é usado para determinar o sinal de um número específico. Ele retorna: 1 se o número fornecido for positivo. -1 se o número fornecido for negativo. 0 se o número fornecido for zero.

Bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software