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

Minha solução do Jogo de Adivinhação

//O jogo irá sortear um numero secreto ente 1 e 100
//O usuário irá escolher uma dificuldade que irá definir o número de tentativas que ele terá
//O jogo irá indicar se ele está perto ou longe do número secreto

int numeroDeTentativas = 0, tentativa = 0, chute = 0, numeroSecreto;
bool ganhou = false;

Random numeroAleatorio = new Random();
numeroSecreto = numeroAleatorio.Next(1, 101);

Console.WriteLine(@"
░░░░░██╗░█████╗░░██████╗░░█████╗░  ██████╗░░█████╗░
░░░░░██║██╔══██╗██╔════╝░██╔══██╗  ██╔══██╗██╔══██╗
░░░░░██║██║░░██║██║░░██╗░██║░░██║  ██║░░██║███████║
██╗░░██║██║░░██║██║░░╚██╗██║░░██║  ██║░░██║██╔══██║
╚█████╔╝╚█████╔╝╚██████╔╝╚█████╔╝  ██████╔╝██║░░██║
░╚════╝░░╚════╝░░╚═════╝░░╚════╝░  ╚═════╝░╚═╝░░╚═╝

░█████╗░██████╗░██╗██╗░░░██╗██╗███╗░░██╗██╗░░██╗░█████╗░░█████╗░░█████╗░░█████╗░
██╔══██╗██╔══██╗██║██║░░░██║██║████╗░██║██║░░██║██╔══██╗██╔══██╗██╔══██╗██╔══██╗
███████║██║░░██║██║╚██╗░██╔╝██║██╔██╗██║███████║███████║██║░░╚═╝███████║██║░░██║
██╔══██║██║░░██║██║░╚████╔╝░██║██║╚████║██╔══██║██╔══██║██║░░██╗██╔══██║██║░░██║
██║░░██║██████╔╝██║░░╚██╔╝░░██║██║░╚███║██║░░██║██║░░██║╚█████╔╝██║░░██║╚█████╔╝
╚═╝░░╚═╝╚═════╝░╚═╝░░░╚═╝░░░╚═╝╚═╝░░╚══╝╚═╝░░╚═╝╚═╝░░╚═╝░╚════╝░╚═╝░░╚═╝░╚════╝░
");

Console.WriteLine("Dificuldades:");
Console.WriteLine("(1) Fácil (2) Médio (3) Difícil");
Console.Write("\nEscolha: ");
int dificuldade = int.Parse(Console.ReadLine()!);
void escolhaDaDificuldade()
{
    switch (dificuldade)
    {
        case 1:
            numeroDeTentativas = 20;
            break;
        case 2:
            numeroDeTentativas = 10;
            break;
        case 3:
            numeroDeTentativas = 5;
            break;
        default:
            Console.WriteLine("Opção inválida");
            break;
    }
}

void validarChute() {
    do
    {
        tentativa++;
        Console.WriteLine("\nTentativa: " + tentativa);
        Console.Write("Digite um chute: ");
        chute = int.Parse(Console.ReadLine()!);

        if (chute < numeroSecreto)
        {
            Console.WriteLine("Seu chute foi menor que o numero secreto, tente novamente!");
        }
        else
        {
            Console.WriteLine("Seu chute foi maior que o numero secreto, tente novamente!");
        }

        if (numeroSecreto == chute)
        {
            ganhou = true;
        }
    } while (!ganhou && numeroDeTentativas != tentativa);
}

escolhaDaDificuldade();
validarChute();


if (ganhou == true)
{   
    Console.WriteLine("\nVocê ganhou :)");
    Console.WriteLine("Parabéns, você acertou o número secreto em " + tentativa + " tentativas!");
} else
{
    Console.WriteLine("\nVocê perdeu :(");
    Console.WriteLine("Não desita, tente novamente!");
}
1 resposta
solução!

Boa Thiago!

Segue duas dicas de "profs" para você esnobar a galera...

1 - Quando o "IF" ou o "ELSE" só tem uma e somente uma instrução embaixo dela, você não precisa dos colchetes "{}". Exemplo:

void validarChute()
{
    do
    {
        tentativa++;
        Console.WriteLine("\nTentativa: " + tentativa);
        Console.Write("Digite um chute: ");
        chute = int.Parse(Console.ReadLine()!);

        if (chute < numeroSecreto)
            Console.WriteLine("Seu chute foi menor que o numero secreto, tente novamente!");
        else
            Console.WriteLine("Seu chute foi maior que o numero secreto, tente novamente!");


        if (numeroSecreto == chute)
            ganhou = true;

    } while (!ganhou && numeroDeTentativas != tentativa);
}

2 - Quando o "IF" tem uma variável booleana e o esperado é "TRUE", não precisa colocar ( == TRUE), desta forma:

if (ganhou)
{
    Console.WriteLine("\nVocê ganhou :)");
    Console.WriteLine("Parabéns, você acertou o número secreto em " + tentativa + " tentativas!");
}
else
{
    Console.WriteLine("\nVocê perdeu :(");
    Console.WriteLine("Não desita, tente novamente!");
}

Perfect bro! Valew!

E nada de "cúdar", nós programamos, não damos nada... KKKKK! Piadinha dos anos 80... KKKKK!!!

[]'s,

Fabio I.