ポーカーゲーム作成講座

Pythonistaでポーカーゲームを画面表示する~ポーカー作成講座2~

こんにちは、みやびのです。

本講座はPythonistaを活用してポーカーゲームを作成する方法について解説するものです。(全5回を予定)

第1回の前回「Pythonでポーカーゲームを作成する」ではPythonでポーカーの基本となる処理を作成しました。

第2回となる今回は、Pythonでポーカーの基本となる処理を作成します。

本記事の内容は以下の通り。

・Pythonistaでポーカーを画面表示する方法
・Pythonistaでポーカーを画面表示する場合の実装例と実行例

Pythonistaでポーカーを画面表示する方法

ポーカーの画面表示に必要な処理は以下の通りです。

・背景色の変更
・カード画像の追加
・ポーカー役の表示
・手札の更新

背景色の変更

デフォルトだと黒なので背景色の変更を行います。
背景色はなんでもOKです。
トランプのカラーに合わせて決めましょう。

背景色は「background_color」で指定できます。

カード画像の追加

5枚のトランプカードを画面に追加します。
Pythonistaでは予めトランプ画像が同梱されているので画像を用意する必要はありません。

Texture()関数に'card' + 'symbol' + 'number'を渡すことで画面表示できます。

画像の追加方法については「Pythonistaのsceneライブラリ画像の使い方」もあわせてお読みください。

ポーカー役の表示

ただ5枚カードを出すだけだと味気ないのでポーカーの役を上部に表示しましょう。
文字列を画面に表示する場合は、「LabelNode()」を使用します。

記述例は以下の通り。

関連記事>>【Pythonista+scene】文字を画面に表示する方法

手札の更新

手札の更新処理を作成するためには「カードを引く処理」と「役の更新処理」の2つが必要です。

◆カードを引く処理
前回作成したreset_draw_cards()を呼び出せば5枚のカードのリストが作成できます。
あとは5枚の画像に対応したカードを割り当てるだけです。

カードを引く処理はタッチした時に動かします。
タッチした時の処理はtouch_began()メソッドに定義可能です。

touch_began()の下に処理を書くだけだと画面のどこをタッチした場合でも処理が動きますが、ボタンなどを設置することでタッチの範囲を絞ることができます。

ボタンの上に文字を挿入することも可能です。

タッチの位置はself.point_from_scene()にtouch.locationを渡すことで取得できます。
画像の範囲はframeに格納されているのでこれと比較します。

◆役の更新
役の更新は前回作成した「check_poker_hand()」を呼び出して役を設定します。

Pythonistaでポーカーを画面表示する場合の実装例と実行例

具体的な実装例と実行例を紹介します。

初期設定の処理実装

◆setup()の修正
setup()メソッドには初期設定メソッドの「setup_object()」と「reset_game()」の2つのメソッドを呼び出す処理を追加します。

◆setup_object()
背景や画像・文字をセットするメソッドです。
以下の4つの処理を行います。

・バックグラウンド(背景)の設定
・役の表示の追加
・Restボタンの追加
・カードの画像の追加

◆reset_game()
山札をシャッフルして5枚引き直すメソッドです。
前回作成した「reset_draw_cards()」を呼び出して役の表示を更新します。

◆reset_draw_cards()
カードを5枚引く処理です。
前回作成したTrumpクラスの「reset_draw_cards()」を呼び出し1枚ずつカードをセットします。

◆set_item()
カードを1枚単位で設定するメソッドです。
カード画像の変更と位置のanchor_pointの調整を行います。

トランプの画像はそのままのサイズで5枚を並べてしまうと画面に収まりきらないので、サイズ調整が必要です。

サイズ調整の処理はメソッドを作成しました。
画像サイズはsizeに代入することで変更できます。

画面タッチ時の処理実装

◆touch_began()、touch_ended()の修正
ボタンをタッチした時に役を更新する処理を追加します。

ボタンの画像をtouch_began()で「pzl:Button2」に変え、touch_ended()で「pzl:Button1」に戻すことでボタンを押したように見せることができます。

実装例と実行例

上記コードをまとめた実装例は以下の通りです。
※TrumpGameクラスの処理は前回からの変更はありません。
※長いので非表示にしています。

+マークをクリックするとソースコードを表示できます。

ソースコードの表示・非表示切り替え

>>ソースコードをGitHubで見る

◆実行例

画面をタッチするとカードが切り替わります。

以上、Pythonistaでポーカーを画面表示する方法でした。
次回はカードの交換処理を追加する方法を紹介します。

次回>>第3回:Pythonistaのポーカーゲームにカード交換機能を追加する

ポーカー講座TOP>>Pythonista+sceneポーカー作成講座

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

  • この記事を書いた人
miyabikno

miyabikno

住んでいるところ:神奈川県。 SIer中小企業(C,VBA):8年(うち5年QA)。Web系ベンチャー(PHP,Javascript,Python):2年。フリーランス:2年。現在はブログをメインに活動しています。

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

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