Exercício – Concluir o desafio de adicionar métodos para tornar o jogo viável

Concluído

Os desafios de código ao longo destes módulos reforçam o que você aprendeu e ajudam você a ter uma certa confiança antes de continuar.

O foco desse desafio é criar métodos corretos com os parâmetros adequados e tipos de retorno.

Desafio de minijogo de dados

Seu desafio é criar um minijogo. O jogo deve selecionar um número alvo que seja um número aleatório entre um e cinco (inclusive). O jogador deve rolar um dado de seis lados. Para vencer, o jogador deve rolar um número maior que o número alvo. No final de cada rodada, o jogador deve ser perguntado se gostaria de jogar novamente, e o jogo deve continuar ou terminar de acordo com a resposta.

Neste desafio, você recebe um código para iniciar. Você deve determinar quais métodos criar, os parâmetros e os tipos de retorno.

Desafio de código: adicionar métodos para tornar o jogo viável

No código com o qual você começa, há dois métodos indisponíveis referenciados:

  • ShouldPlay: Esse método deve recuperar a entrada do usuário e determinar se ele deseja jogar novamente
  • WinOrLose: Esse método deve determinar se o jogador ganhou ou perdeu

Também há duas variáveis não inicializadas:

  • target: O número de meta aleatório entre 1 e 5
  • roll: O resultado da rolagem de dado de seis lados aleatória

Seu desafio é criar os métodos ShouldPlay e WinOrLose e criar métodos que definem target e roll para valores aleatórios no intervalo correto. Quando todos os métodos forem concluídos, o jogo deverá ser executado com êxito.

  1. Verifique se você tem o arquivo Program.cs vazio aberto no Visual Studio Code.

    Se necessário, abra o Visual Studio Code e conclua as seguintes etapas para preparar o arquivo Program.cs no Editor:

    1. No menu Arquivo, selecione Abrir Pasta.

    2. Use a caixa de diálogo Abrir Pasta para navegar e, em seguida, abra a pasta CsharpProjects.

    3. No painel EXPLORER do Visual Studio Code, selecione Program.cs.

    4. No menu Seleção do Visual Studio Code, escolha Selecionar Tudo e pressione a tecla Delete.

  2. Copie e cole o seguinte código no painel Editor.

    Random random = new Random();
    
    Console.WriteLine("Would you like to play? (Y/N)");
    if (ShouldPlay()) 
    {
        PlayGame();
    }
    
    void PlayGame() 
    {
        var play = true;
    
        while (play) 
        {
            var target;
            var roll;
    
            Console.WriteLine($"Roll a number greater than {target} to win!");
            Console.WriteLine($"You rolled a {roll}");
            Console.WriteLine(WinOrLose());
            Console.WriteLine("\nPlay again? (Y/N)");
    
            play = ShouldPlay();
        }
    }
    
  3. Atualize o código para usar os métodos na execução do jogo de acordo com as especificações do desafio.

    Use o que você aprendeu sobre parâmetros e valores retornados para concluir a atualização.

  4. Verifique se o jogo está funcionando

    O código deve produzir uma saída semelhante à seguinte:

    Would you like to play? (Y/N)
    Y
    Roll a number greater than 1 to win!
    You rolled a 2
    You win!
    
    Play again? (Y/N)
    Y
    Roll a number greater than 4 to win!
    You rolled a 6
    You win!
    
    Play again? (Y/N)
    Y
    Roll a number greater than 1 to win!
    You rolled a 1
    You lose!
    
    Play again? (Y/N)
    N
    

Se você tiver dificuldades e precisar dar uma olhada na solução ou se conseguir terminar, prossiga para exibir uma solução para esse desafio.