ポーカーゲーム作成講座

Pythonistaで作るポーカー作成講座(全5回)

Pythonista+sceneライブラリでポーカーゲームを作成する方法について解説する講座です。(全5回を予定)
本講座を進めていけばPythonistaで簡単なポーカーゲームが作成できます。

◆2020/2/18追記
追加講座の公開を始めました。
不定期で更新します。

Pythonistaでポーカーを作るための基礎知識

ポーカーのルール

ポーカーは5枚の手札の役(数字の並びやマークの種類)によって勝敗を決める有名なトランプゲームの一つです。
RPGなどのカジノではよく登場するのでゲームでやったことがあるという方は多いと思います。

役は以下の通り。上から順に強い役となります。

役の名前概要
ロイヤルストレートフラッシュストレートフラッシュの条件を満たしつつは10,J,Q,K,Aの5枚がそろった役。
ストレートフラッシュストレートとフラッシュの両方の条件を満たした役。
4カード同じ数字が4枚揃った役。
フルハウスフルハウスは10,10,K,K,Kのように1ペアと3カードが同時に揃った役。
フラッシュ同じマークのカードが5枚揃った役。
ストレートA,2,3,4,5のように連続した数字が揃った役。
3カード同じ数字が3枚揃った役。
2ペア同じ数字のペアが2組揃った役。
1ペア同じ数字のペアが1組揃った役。

4カード以上はかなり確率が低いです。
特にロイヤルストレートフラッシュはめちゃくちゃ確率が低いので現実ではまずお目にかかれない役です。

◆ジョーカーを加えたルール
ジョーカーはなんにでもなれるカードです。
例えばハート4枚とジョーカーならフラッシュが成立しますし、5,6,8,9とジョーカーならストレートが成立します。

ゲームとしては強力なカードですが、プログラムで作ろうと思うと判定がかなり難しくなります。

トランプの基本処理の作り方

トランプの基本処理は以下の3つです。

・山札の作成
・シャッフル
・カードを引く処理

山札の作成は、for文でマーク4種類×13枚のループで作成できます。
1,11,12,13は絵札のマークに置き換えましょう。

シャッフルはrandom.shuffle()を使えば実装できます。

カードを引く場合はpop()メソッドを使います。

具体的な手順については「【Python】random.shuffle()の活用例」をお読みください。

Pythonistaでカードを表示する処理

Pythonistaには最初からトランプカードが用意されています。

フォーマットは以下の通り。
card:[mark][number]

例)
◆ハートの10の場合
'card:Hearts10'

◆クラブのKの場合
'card:clubsK'

トランプ画像

実装例と実行例についてはQiitaの「Qiita:Pythonista+sceneでトランプをランダムに表示する」にまとめています。

Pythonista+sceneでポーカーを作成講座

第1回:Pythonでポーカーゲームを作成する
第2回:Pythonistaでポーカーゲームを画面表示する
第3回:Pythonistaのポーカーゲームにカード交換機能を追加する
第4回:Pythonistaのポーカーゲームにジョーカーの処理を追加する
第5回:Pythonistaのポーカーゲームにベット機能を追加する

完成するとこんな感じで動作します。

GitHubでもソースコードを公開中。
Pythonistaで作るポーカーゲーム

追加講座

よりゲームの完成度を上げるための追加講座です。
不定期で更新予定。

Pythonistaポーカーにタイトルを追加する

こちらの記事も読まれています

  • この記事を書いた人

みやびの

住んでいるところ:神奈川県。 プログラミング歴は13年ほど。 ※プログラミングに関する無料相談・質問への回答は行っていません。

-ポーカーゲーム作成講座
-

Copyright© みやびのどっとぴーわい , 2020 All Rights Reserved Powered by AFFINGER5.