2020 ソフトウェア設計及び演習用の班Wiki
20::gr05::判定モジュール
判定モジュール(担当:池田貴洋)
モジュールの説明
ブラックジャックやポーカーでの勝敗の判定や、ポーカーの役の判定などを行うモジュール
result()
-
プレイヤーとディーラーの勝敗判定をし戻り値nを返す
- n = 0 プレイヤーはバースト負け(バースト判定はホストが動く前に行う必要があるので不必要(形式的に用意))
- n = 1 負け
- n = 2 引き分け
- n = 3 役ブラックジャックで勝利(この役で勝つと掛け金の1.5倍の払い戻しがありその計算をする為に)
- n = 4 勝ち
- (n = 5 エラーナンバー(存在しない値))
action_judge()
-
プレイヤーの次の行動(2枚配られた(hit(0)を2回した)後)を導きだし戻り値nを返す
- n = 0 プレイヤーはバーストした このゲームはホストの行動なしで負ける
- n = 1 プレイヤーは役ブラックジャック すぐホストの行動に移る
- n = 2 プレイヤーはまだヒットしていないのでダブルダウンを含めた行動(double,hit,stand)ができる
- n = 3 プレイヤーはヒットしたためダブル以外の行動ができる(hit,stand)
poker_hand(n)
- クローズドポーカーでもテキサスホールデムでも利用可能
- n = 0 の時は自分の役を、n = 1 の時は相手の役を判定
- ポーカーで5枚以上手札がある(テキサスホールデムのルールならコミュニティカードも手札と考える)時の役を判定し、戻り値として要素数不定の配列を返す
- 役の判定には0番地の値を使う。
- ロイヤルストレートフラッシュ
- 戻り値[0]
- ストレートフラッシュ
- 戻り値[1,x] 1番地のxにはカードの中で一番大きいランク
- フォーカード
- 戻り値[2,x,y] 1番地のxはフォーカードが成立しているランクの値、2番地yはキッカー
- フルハウス
- 戻り値[3,x,y] xはスリーカードが成立している中で最大の値、yはペア以上が成立している中で最大の値
- ex)0(エース)3枚、12(キング)3枚、3(4)の時、戻り値[3,0,12]
- フラッシュ
- 戻り値[4,arr] 1番地のarrには要素数5の配列、ランク順に格納
- ストレート
- 戻り値[5,x] xにはカードの中で一番大きいランク
- スリーカード
- 戻り値[6,x,arr] xにはスリーカードが成立しているランク、arrには要素数2でキッカー格納
- ツーペア
- 戻り値[7,x,y,z] xにはペアができている中で最大のランク、yは次に最大のランク、zはキッカー
- ワンペア
- 戻り値[8,x,arr] xにはペアができているランク、arrには要素数3でキッカー格納
- ハイカード
- 戻り値[9,arr] arrには要素数5でランク順に格納
- エラー
- 戻り値[10]
- 普通にやれば出ない
最終更新日:2020/08/06 00:14:42