【GameMaker:Studio】ポーカーエクステンション

投稿者: | 2014年3月21日

ポーカーエクステンションを公開しました。

こちらから実行サンプルとエクステンションのダウンロードができます。(マウスクリックでカードを捨てる。「CHANGE」ボタンで交換)

あとトランプ素材なんかも添付しています。

trump

こんな画像です。

なお内部実装の詳細な説明はこちらのページに記載しています。

■使い方の例

使い方の例としては、まずはPokerシステムを作成します。

// Pokerオブジェクト作成
var player = 2; // プレイヤー数
var joker = 1; // ジョーカーの数
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);

ゲーム終了する場合には、

// ポーカーシステムのインスタンスを使いまわす場合はこっち
poker_reset(global.pk);

// もう使わないのでメモリから削除する場合はこっち
poker_destroy(global.pk);
global.pk = 0;

となります