1
resposta

[Projeto] [Projeto Primeiro Jogo]

Este foi meu primeiro jogo feito em C#

string mensagemBoasVindas = "Seja bem vindo(a)";
int numeroAdivinhacao = 10;
int acertos = 0;
int erros = 0;
int contador = 0;

void LogoDoJogo()
{
    Console.WriteLine(@"
                               dMMMMMP .aMMMb  .aMMMMP .aMMMb                      
                                  dMP dMP""dMP dMP""    dMP""dMP                      
                                 dMP dMP dMP dMP MMP""dMP dMP                       
                            dK .dMP dMP.aMP dMP.dMP dMP.aMP                        
                            VMMMP""  VMMMP""  VMMMP""  VMMMP""                         
                                                                                   
                                    dMMMMb  dMMMMMP                                
                                   dMP VMP dMP                                     
                                  dMP dMP dMMMP                                    
                                 dMP.aMP dMP                                       
                                dMMMMP"" dMMMMMP                                    
                                                                                   
    .aMMMb  dMMMMb  dMP dMP dMP dMP dMMMMb  dMP dMP .aMMMb  .aMMMb  .aMMMb  .aMMMb 
   dMP""dMP dMP VMP amr dMP dMP amr dMP dMP dMP dMP dMP""dMP dMP""VMP dMP""dMP dMP""dMP 
  dMMMMMP dMP dMP dMP dMP dMP dMP dMP dMP dMMMMMP dMMMMMP dMP     dMMMMMP dMP dMP  
 dMP dMP dMP.aMP dMP  YMvAP"" dMP dMP dMP dMP dMP dMP dMP dMP.aMP dMP dMP dMP.aMP   
dMP dMP dMMMMP"" dMP    VP""  dMP dMP dMP dMP dMP dMP dMP  VMMMP"" dMP dMP  VMMMP""    
                                                                                   
");
}

void MenuJogo()
{
    Console.WriteLine(@"
        [1] - Registrar Usuário (Em desenvolvimento)
        [2] - Iniciar Jogo 
        [3] - Ver Pontuação (Em desenvolvimento)
        [9] - Sair
");
    Console.Write("Escolha uma Opção: ");
    string menuEscolha = Console.ReadLine()!;
    int menuEscolhaNumero = int.Parse(menuEscolha);

    switch (menuEscolhaNumero)
    {
        case 1:
            Console.WriteLine("Sistema em Desenvolvimento!");
            break;
        case 2:
            Console.WriteLine(mensagemBoasVindas);
            while (acertos != 1)
            {
                Console.Write("Adivinhe o número que estou pensando: ");
                string escolhaUsuario = Console.ReadLine()!;
                int numeroUsuario = int.Parse(escolhaUsuario);
                if (numeroUsuario == numeroAdivinhacao)
                {
                    contador++;
                    acertos++;
                    Console.WriteLine($"Parabéns, você acertou o número!");
                    Console.WriteLine($"Você teve {acertos} acerto em {contador} tentativas!");
                } else
                {
                    contador++;
                    erros++;
                    Console.WriteLine($"Infelizmente você errou! Tente Novamente!");
                }

            }
            break;
        case 3:
            Console.WriteLine("Sistema em Desenvolvimento!");
            break;
        case 9:
            Console.WriteLine("Sistema em Desenvolvimento!");
            break;
        default:
            Console.WriteLine("Opção Invalida!");
            break;
    }
}

LogoDoJogo();
MenuJogo();
1 resposta

Olá, Leonardo!

Parabéns pelo seu primeiro jogo em C#! Achei muito legal a ideia de criar um jogo de adivinhação. Vou te ajudar com a dúvida que você postou.

No método MenuJogo(), você tem um laço de repetição while que continua executando até que a variável acertos seja igual a 1. Dentro desse laço, você pede para o usuário digitar um número e verifica se ele acertou ou errou. Se ele acertar, você incrementa a variável acertos e exibe uma mensagem de parabéns. Caso contrário, você incrementa a variável erros e exibe uma mensagem de erro.

O laço continua executando até que o usuário acerte o número e a variável acertos seja igual a 1. É importante notar que você também está incrementando a variável contador a cada tentativa, para contar quantas vezes o usuário tentou adivinhar o número.

No final do código, você chama o método LogoDoJogo() para exibir uma logo do jogo e o método MenuJogo() para exibir o menu do jogo e começar a jogar.

Sobre como fazer o jogo parar quando o usuário acertar o número, você pode utilizar a instrução break dentro do if que verifica se o número do usuário é igual ao número gerado pelo programa. Dessa forma, quando o usuário acertar, o laço será interrompido e o jogo será encerrado.

Ficaria assim:

if (numeroUsuario == numeroAdivinhacao)
{
    contador++;
    acertos++;
    Console.WriteLine($"Parabéns, você acertou o número!");
    Console.WriteLine($"Você teve {acertos} acerto em {contador} tentativas!");
    break; // Adicione essa linha para encerrar o laço
}

Bons estudos!