総合練習
変数、条件分岐、配列(またはリスト)、列挙、メソッドとクラスを使い、以下のスクリプト作りましょう
ポーカー手札の判定
参考:ポーカー・ハンドの一覧
目標
手札にある5枚のカードを確認し、評価し、Debug.Logで判定を表示。
例:A♥ A♦ 10♣ 7♦ 3♠ - ワンペア
を表示するのは目標である
解析
必要のは:
- カード1枚を表すクラス。1(エース)から13(キング)までの数値と、スート(ハート、ダイヤ、クラブ、スペード)を扱うクラス「
Card」- 数字は整数でOK
- スートは列挙(
Heart, Diamond, Club, Spade)にする - 数値とスートを文字列に変換するためのメソッドが必要
ConvertToString()
- 5枚のカード表すハンド「Hand」クラス
- 5枚を設定する方法が必要
SetCard(int i, Card card);
- 各種の評価機能
IsOnePair()(ワンペアであるか?)IsTwoPair()(ツーペアであるか?)IsThreeOfAKind()(スリー・オブ・ア・カインドであるか?)IsStraight()(ストレートであるか?)IsFlush()(フラッシュであるか?)IsFullHouse()(フールハウスであるか?)IsFourOfAKind()(フォー・オブ・ア・カインドであるか?)IsStraightFlush()(ストレートフラッシュであるか?)
- 順番にすべてを確認する機能が必要「
CheckResult」- 一番強いハンド → 一番弱いハンドの順庵で確認
- 当てはまった場合は、5枚のカードと判定を表示する
- 5枚を設定する方法が必要
- テスト用のスクリプト「TestPoker」