PROGRAM PYTHON

Pythonスクリプト【ババ抜きプログラム③~クラス版】

 

 

クラスを使ってババ抜きプログラムを作ろう

前回までのババ抜きプログラムは、クラスや関数を使わずにプログラムを作りました。
今回はクラスを使って、ババ抜きプログラムを作ってみましょう。

 

クラスを使ったババ抜きプログラム

今回はPlayerというクラスを作り、そこにプレイヤーの名前や手札を保存します。
また、ペアカードの削除や隣の人からカードを引くという処理もクラス内にメソッドとして定義します。
前回まではペアだったらカードを除外するという処理が2か所に書かれていましたが、クラス化することによってdel_pair()というメソッドにまとめました。
カードの山からプレイヤーにカードを配る処理も、カードをシャッフルしてから1枚づつプレイヤーに配布するように変更しています。

プログラムの実行結果自体は、前回のプログラムと同様です。

 実行例
C:\>python card9-1.py
### 配布したカード
山田 ['CJ', 'S8', 'S6', 'CK', 'C5', 'D8', 'DQ', 'S4', 'HK', 'S3', 'D2', 'C8', 'SK', 'CT', 'SQ', 'DT', 'HA', 'C3']
鈴木 ['CA', 'C2', 'HQ', 'H4', 'D3', 'D4', 'SJ', 'SA', 'CQ', 'C6', 'DK', 'D6', 'C4', 'HJ', 'S7', 'C9', 'HT', 'H2']
佐藤 ['DA', 'S9', 'S5', 'JK', 'D9', 'S2', 'H8', 'H3', 'C7', 'D7', 'DJ', 'H9', 'ST', 'H7', 'D5', 'H6', 'H5']
 
### ペアのカードを除外
山田 ['CJ', 'S6', 'C5', 'S4', 'D2', 'C8', 'SK', 'HA']
鈴木 ['D3', 'DK', 'C4', 'S7', 'C9', 'HT']
佐藤 ['DA', 'JK', 'S2', 'H8', 'H3', 'DJ', 'H9', 'ST', 'H7', 'H6', 'H5']
 
山田 → 鈴木 ['S7']
 
山田 ['CJ', 'S6', 'C5', 'S4', 'D2', 'C8', 'SK', 'HA', 'S7']
鈴木 ['D3', 'DK', 'C4', 'C9', 'HT']
佐藤 ['DA', 'JK', 'S2', 'H8', 'H3', 'DJ', 'H9', 'ST', 'H7', 'H6', 'H5']
 
鈴木 → 佐藤 ['DA']
 
山田 ['CJ', 'S6', 'C5', 'S4', 'D2', 'C8', 'SK', 'HA', 'S7']
鈴木 ['D3', 'DK', 'C4', 'C9', 'HT', 'DA']
佐藤 ['JK', 'S2', 'H8', 'H3', 'DJ', 'H9', 'ST', 'H7', 'H6', 'H5']
 
~ 中略 ~
 
山田 ['H7']
鈴木 ['JK', 'S7']
佐藤 [CLEAR!!]
 
山田 → 鈴木 ['JK']
 
山田 ['H7', 'JK']
鈴木 ['S7']
佐藤 [CLEAR!!]
 
鈴木 → 山田 ['H7']
 
山田 ['JK']
鈴木 [CLEAR!!]
佐藤 [CLEAR!!]

 

-PROGRAM, PYTHON
-,