GameMakerで実装したポーカーの仕様をまとめたページです
定数名 | 値 | 説明 |
PK_RANK_HIGH_CARDS | 0 | 役なし |
PK_RANK_ONE_PAIR | 1 | ワンペア |
PK_RANK_TWO_PAIR | 2 | ツーペア |
PK_RANK_THREE_OF_KIND | 3 | スリーカード |
PK_RANK_STRAIGHT | 4 | ストレート |
PK_RANK_FLUSH | 5 | フラッシュ |
PK_RANK_FULL_HOUSE | 6 | フルハウス |
PK_RANK_FOUR_OF_KIND | 7 | フォーカード |
PK_RANK_STRAIGHT_FLUSH | 8 | ストレートフラッシュ |
PK_RANK_ROYAL_STRAIGHT_FLUSH | 9 | ロイヤルストレートフラッシュ |
PK_RANK_FIVE_OF_KIND | 10 | ファイブカード |
PK_CARD_INVALID | 0 | 無効なカード番号 |
PK_CARD_JOKER | 53 | ジョーカーの開始カード番号 |
PK_HAND_CARD_NUM | 5 | 手札の数 |
手札は5枚配られる前提なので、0~4が有効な数値となります
関数名 | 説明 | 引数1 | 引数2 | 引数3 | 引数4 | 引数5 | 戻り値 |
poker_create | ポーカーシステムの生成 | プレイヤーの数(1~n) | ジョーカーの枚数(0~n) | - | - | - | ポーカーシステムオブジェクト(pk) |
poker_destroy | ポーカーシステムをメモリから削除 | pk | - | - | - | - | - |
poker_reset | 初期状態に戻す | pk | - | - | - | - | - |
poker_debug_set | デバッグ出力を有効にする | pk | 有効true/無効false | - | - | - | - |
poker_debug_enable | デバッグ出力が有効かどうか | pk | - | - | - | - | 有効true/無効false |
poker_dump | システムが保持している情報をデバッグ出力する | pk | - | - | - | - | - |
poker_deck_shuffle | 山札をシャッフルする | pk | - | - | - | - | - |
poker_deck_add_talon | 山札の末尾に捨て札を加える | pk | - | - | - | - | - |
poker_deck_size | 山札のカード枚数を取得する | pk | - | - | - | - | 山札の枚数 |
poker_deck_get | 山札のカードを参照する | pk | 山札番号(0~poker_deck_size) | - | - | - | カード番号 |
poker_deck_deal_one | 山札の一番上からカードを一枚取り出す(山札から削除) | pk | - | - | - | - | カード番号。山にカードがない場合はPK_CARD_INVALID |
poker_hand_deal | 指定のプレイヤーにカードを与える | pk | プレイヤー番号(0~n) | - | - | - | - |
poker_hand_get_deal_count | 指定のプレイヤーが引くことのできるカード枚数を取得する | pk | プレイヤー番号(0~n) | - | - | - | - |
poker_hand_get_card | 指定のプレイヤーのカード番号を取得する | pk | プレイヤー番号(0~n) | 手札番号(0~4) | - | - | - |
poker_hand_discard | 指定のプレイヤーの手札を捨て札に捨てる | pk | プレイヤー番号(0~n) | 手札番号(0~4) | - | - | - |
poker_hand_discard_all | 指定のプレイヤーの手札をすべて捨て札に捨てる | pk | プレイヤー番号(0~n) | - | - | - | - |
poker_hand_check_rank | 指定のプレイヤーの役判定をする | pk | プレイヤー番号(0~n) | - | - | - | 役定数(PK_RANK_*) |
poker_talon_size | 捨て札の枚数を取得する | pk | - | - | - | - | - |
poker_talon_get | 捨て札のカードを参照する | pk | 捨て札番号(0~poker_talon_size) | - | - | - | カード番号 |
poker_rank_check_flush | フラッシュが成立しているかどうかチェックする | 手札配列 | - | - | - | - | 成立していればtrue |
poker_rank_check_straight | ストレートが成立しているかどうかチェックする | 手札配列 | - | - | - | - | 成立していればtrue |
poker_rank_to_string | 役を文字列にする | 役定数 | - | - | - | - | 役文字列 |
poker_player_count | プレイヤー数の取得 | pk | - | - | - | - | プレイヤー数 |
poker_joker_count | ジョーカーの枚数を取得 | pk | - | - | - | - | ジョーカーの枚数 |
ポーカーシステムオブジェクト(pk)はds_mapにより実装。以下、各キーに対応する値
- // Pokerシステムのインスタンスを作成
- var player = 2; // プレイヤー数
- var joker = 1; // ジョーカーの数。ジョーカーを使わない場合は「0」
- global.pk = poker_create(player, joker);
- // プレイヤー0に手札を配る
- poker_hand_deal(global.pk, 0);
- // プレイヤー1に手札を配る
- poker_hand_deal(global.pk, 1);
- // プレイヤー0の手札を取得
- for(var i = 0; i < PK_HAND_CARD_NUM; i++)
- {
- var card = poker_hand_get_card(global.pk, 0, i);
- show_debug_message(card);
- }
- // プレイヤー0の役を判定 (PK_RANK_*定数が取得できる)
- var rank = poker_hand_check_rank(global.pk, 0);
- // プレイヤー0の、0番目と3番めのカードを捨てる (手札番号は0~4までが有効)
- poker_hand_discard(global.pk, 0, 0);
- poker_hand_discard(global.pk, 0, 3);
- // プレイヤー0に手札を配る (捨てた分だけもらえる)
- poker_hand_deal(global.pk, 0);
- // プレイヤー0の手札を取得
- for(var i = 0; i < PK_HAND_CARD_NUM; i++)
- {
- var card = poker_hand_get_card(global.pk, 0, i);
- show_debug_message(card);
- }
- // プレイヤー0の役を判定 (PK_RANK_*定数が取得できる)
- var rank = poker_hand_check_rank(global.pk, 0);
[PageInfo]
LastUpdate: 2014-01-14 21:54:22, ModifiedBy: syun77
[License]
Creative Commons 2.1 Attribution
[Permissions]
view:all, edit:admins, delete/config:admins