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;
}