1
resposta

Utilizando recursão

Console.WriteLine(@"
▄▀█ █▀▄ █ █░█ █ █▄░█ █░█ █▀▀   █▀█   █▄░█ █░█ █▀▄▀█ █▀▀ █▀█ █▀█
█▀█ █▄▀ █ ▀▄▀ █ █░▀█ █▀█ ██▄   █▄█   █░▀█ █▄█ █░▀░█ ██▄ █▀▄ █▄█");

main();
static void main()
{
    // as var (numeroAleatorioGerado, numMin, numMax) recebem os valores de (numeroAleatorio, numMin, numMax) declarados como (int, int, int) pela função  gerarNumerosAleatorios()
    var (numeroAleatorioGerado, numMin, numMax) = gerarNumerosAleatorios();

    bool sair = false;
    int contador = 0;
    do
    {
        int numeroJogador = inputUserInt("Escolha um número: ");

        if (numeroJogador < numMin || numeroJogador > numMax)
        {
            Console.WriteLine("Numeros fora da margem escolhida!");
            main();
            break;//obrigatorio
        }

        contador++;

        if (numeroJogador < numeroAleatorioGerado)
        {
            Console.WriteLine($"O número secreto é maior que {numeroJogador}");
        }
        else if (numeroJogador > numeroAleatorioGerado)
        {
            Console.WriteLine($"O número secreto é menor que {numeroJogador}");
        }
        else
        {
            string mensagemVencedora = contador > 1 ? $"Você VENCEU com {contador} tentativas" : $"Parabéns, você VENCEU na {contador}ª tentativa";
            Console.WriteLine(mensagemVencedora);
            sair = true;
        }
    } while (sair == false);
}

// FUNÇÕES auxiliares
static (int, int, int) gerarNumerosAleatorios() // o (int, int, int) são as declarações das saidas (numeroAleatorio, numMin, numMax);
{
    int numMin = inputUserInt("Digite o número mínimo: ");
    int numMax = inputUserInt("Digite o número máximo: ");
    Random randomNumeroSecreto = new Random();//Criando objeto random
    int numeroAleatorio = randomNumeroSecreto.Next(numMin, (numMax + 1));
    return (numeroAleatorio, numMin, numMax);//retorna 3 valores
}
static int inputUserInt(string cabecalho)
{
    Console.Write(cabecalho);
    string inputDoUsuario = Console.ReadLine();
    int inputDoUsuarioInt = int.Parse(inputDoUsuario);
    return inputDoUsuarioInt;
}
1 resposta

Oii Lucas, tudo bem?

Parabéns pelo seu projeto utilizando recursão! É incrível ver como você aplicou os conceitos aprendidos no curso de C# para criar essa aplicação de jogo. A estrutura do código está bem organizada e é ótimo ver como você implementou a lógica do jogo de adivinhação de forma eficiente.

Continua assim, explorando e aprimorando suas habilidades de programação!

Um abraço e bons estudos.