ゲームをプレイ可能にするメソッドを追加するソリューションをレビューする

完了

次のコードは、前のユニットの課題に対して考えられる解答の 1 つです。

Random random = new Random();

Console.WriteLine("Would you like to play? (Y/N)");
if (ShouldPlay()) 
{
    PlayGame();
}

bool ShouldPlay() 
{
    string response = Console.ReadLine();
    return response.ToLower().Equals("y");
}

void PlayGame() 
{
    var play = true;

    while (play) {
        var target = GetTarget();
        var roll = RollDice();

        Console.WriteLine($"Roll a number greater than {target} to win!");
        Console.WriteLine($"You rolled a {roll}");
        Console.WriteLine(WinOrLose(roll, target));
        Console.WriteLine("\nPlay again? (Y/N)");

        play = ShouldPlay();
    }
}

int GetTarget() 
{
    return random.Next(1, 6);
}

int RollDice() 
{
    return random.Next(1, 7);
}

string WinOrLose(int roll, int target) 
{
    if (roll > target) 
    {
        return "You win!";
    }
    return "You lose!";
}

異なる場所に改行を追加したり、戻り値を異なる方法で使用したり、コードを異なる方法で書式設定している可能性があるので、このコードは "考えられるソリューションの 1 つ" に過ぎません。

小さなコードの違いに関係なく、コードを実行すると、次のような出力が表示されます。

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

Play again? (Y/N)
Y
Roll a number greater than 3 to win!
You rolled a 5
You win!

Play again? (Y/N)
Y
Roll a number greater than 2 to win!
You rolled a 3
You win!

Play again? (Y/N)
N

この課題を完了された場合は、お疲れさまでした。 次のユニットの知識チェックに進んでください。

重要

この課題を完了できなかった場合は、次に進む前に、前のユニットを復習してください。 他のモジュールで説明されている新しいアイデアはすべて、このモジュールで説明されているアイデアの理解が基になっています。