Skip to main content

総合練習

変数、条件分岐、配列(またはリスト)、列挙、メソッドとクラスを使い、以下のスクリプト作りましょう

ポーカー手札の判定

参考:ポーカー・ハンドの一覧

目標

手札にある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枚のカードと判定を表示する
  • テスト用のスクリプト「TestPoker」