【C#】オブジェクト指向を使ったジャンケンゲーム
C#でオブジェクト指向を使ったジャンケンゲームを作成する方法の一例を示します
Player player = new Player();
Computer computer = new Computer();
while (true)
{
Console.WriteLine("じゃんけんをしましょう!");
Console.WriteLine("グー・チョキ・パーのいずれかを入力してください。");
player.Hand = Console.ReadLine();
if (player.Hand == "終了")
{
break;
}
// コンピュータが手を決めます
computer.Play();
// 判定結果を求めます
string result = player.ShowResult(computer);
// 結果を表示します
Console.WriteLine(result);
Console.WriteLine("もう一度プレイしますか? 終了する場合は「終了」と入力してください。");
}
class Player
{
public string Hand { get; set; }
public int WinCount { get; set; }
public int LoseCount { get; set; }
public int DrawCount { get; set; }
public string ShowResult(Computer computer)
{
if (Hand == computer.Hand)
{
DrawCount++;
return $"私は、{computer.Hand}なので、あいこです。";
}
else if ((Hand == "グー" && computer.Hand == "チョキ") ||
(Hand == "チョキ" && computer.Hand == "パー") ||
(Hand == "パー" && computer.Hand == "グー"))
{
WinCount++;
return $"私は、{computer.Hand}なので、あなたの勝ちです。";
}
else
{
LoseCount++;
return $"私は、{computer.Hand}なので、あなたの負けです。";
}
}
}
class Computer
{
private static string[] hands = { "グー", "チョキ", "パー" };
private static Random rnd = new Random();
public string Hand { get; set; }
public void Play()
{
Hand = hands[rnd.Next(0, hands.Length)];
}
}
上記のプログラムでは、PlayerクラスとComputerクラスを使用して、ジャンケンゲームをオブジェクト指向で実装しています。Playerクラスはプレイヤーの手、勝敗数、そしてShowResultメソッドを持ち、Computerクラスはコンピュータの手、そしてPlayメソッドを持ちます。ShowResultメソッドでは、プレイヤーの手とコンピュータの手が一致しているか、プレイヤーが勝ちなのか負けなのかを判定し、結果を返します
ディスカッション
コメント一覧
まだ、コメントがありません