地主取引のPythonシミュレーション

この記事の例では、参考のために地主ライセンスのpythonシミュレーションの特定のコードを共有しています。具体的な内容は次のとおりです。

**トピック:**地主についての100の質問で楽しい

ポーカーは非常に人気のあるゲームです。コンピューターのトランプに関連するゲームはたくさんあります。たとえば、Windowsオペレーティングシステムに付属しているSolitaire、HeartsWarなど。ポーカーゲームでは、カードのデッキを完全にシャッフルして配置を不規則にするシャッフル操作を実行する必要があることがよくあります。

請求:

1、54 3人のプレイヤーに3枚のトランプが配られます。17枚は農家用、20枚は地主用です。
2、 ポーカーデッキを自動的に生成し、カードをシャッフルし、カードをプレーヤーに配布し、スーツのサイズに応じてプレーヤーの手にポーカーカードを配置します。 ****

'''
何百もの楽しみ-プレイカードの取り扱い-家主
プレイカードを配布するようにプログラムしてください
Version:0.1
Author: jasn
Date:2020-01-01
主な知識ポイント:ランダムの使用法、クラスの定義と呼び出し
主な機能ポイント:Pythonクラスを使用して、初期化、シャッフル、カードの処理、地主の取得、カードの管理、およびスーツのマッチングを実現します。コードは以下のように表示されます
'''
import random
classdoudizhu:
# 54枚のカードを定義する
def __init__(self):
self.a=[]for i inrange(54):
self.a.append(i)
# シャッフル
def xipai(self):
random.shuffle(self.a) #シャッフル
n = random.randint(1,54)
b = self.a[:n] #位置nからカードを切り取ります
c = self.a[n:]
self.a = b + c
# ライセンス
def fapai(self):
self.user1=self.a[0:-3:3] #プレーヤー1、カードを取得する順序は0、3、6、9です。...
self.user2=self.a[1:-3:3] #プレーヤー2、カードを取得する順序は1、4、7、10です。...
self.user3=self.a[2:-3:3] #プレーヤー3、カードを取得する順序は2、5、8、11です。...
self.user4=self.a[-3:] #ホールカード、順番は51、52、53です
# 家主
def qiangdizhu(self):
i=random.randint(1,3)
self.dizhu=i #地主のインスタンスを定義する
if i ==1:
self.user1+=self.user4
if i ==2:
self.user2+=self.user4
if i ==3:
self.user3+=self.user4
# ナンバープレート
def mapai(self):
self.user1.sort(reverse=True) ##小さいものから大きいものへ
self.user2.sort(reverse=True)
self.user3.sort(reverse=True)
# カードシーケンスとスーツの1対1の対応
def yingshe(self):
huase =[(0,'スクエアピース3'),(1,'プラム3'),(2,'ハート3'),(3,'スペードの3'),(4,'スクエアピース4'),(5,'プラム4'),(6,'ハート4'),(7,'スペードの4'),(8,'スクエアピース5'),(9,'プラム5'),(10,'ハートの5'),(11,'スペードの5'),(12,'スクエアピース6'),(13,'プラム6'),(14,'ハート6'),(15,'スペードの6'),(16,'スクエアピース7'),(17,'プラム7'),(18,'ハートの7'),(19,'スペードの7'),(20,'スクエアピース8'),(21,'プラム8'),(22,'ハート8'),(23,'スペードの8'),(24,'スクエアピース9'),(25,'プラム9'),(26,'ハートの9'),(27,'スペードの9'),(28,'スクエアピース10'),(29,'プラム10'),(30,'ハートの10'),(31,'スペードの10'),(32,'スクエアピースJ'),(33,'プラムJ'),(34,'ハートJ'),(35,'スペードのJ'),(36,'スクエアピースQ'),(37,'プラムQ'),(38,'ハートQ'),(39,'スペードQ'),(40,'スクエアK'),(41,'プラムK'),(42,'ハートK'),(43,'スペードの王'),(44,'スクエアピースA'),(45,'プラムA'),(46,'ハートのエース'),(47,'スペードのエース'),(48,'スクエアピース2'),(49,'プラム2'),(50,'ハート2'),(51,'スペードの2'),(52,'BlackJoker'),(53,'RedJoker')]
zdpai =dict(huase)
paiuser1=''for i inrange(len(self.user1)):
paiuser1+=zdpai[self.user1[i]]+' ' #カードを文字列の形で保管する
paiuser2 =''for i inrange(len(self.user2)):
paiuser2 += zdpai[self.user2[i]]+' '
paiuser3 =''for i inrange(len(self.user3)):
paiuser3 += zdpai[self.user3[i]]+' '
paiuser4 =''for i inrange(len(self.user4)):
paiuser4 += zdpai[self.user4[i]]+' '
self.user1 = paiuser1 #スーツに対応するカードのシーケンスを3人のプレーヤーのインスタンス属性に再割り当てします
self.user2 = paiuser2
self.user3 = paiuser3
self.user4 = paiuser4
if __name__ =='__main__':
Player=doudizhu() #プレイするクラスを支援する,簡単に呼び出す
Player.xipai()
Player.fapai()
Player.qiangdizhu()
Player.mapai()
Player.yingshe()print('このゲームの地主は:プレーヤー{}'.format(Player.dizhu))print('ホールカード:',Player.user4)print('プレイヤー1:',Player.user1)print('プレーヤー2:',Player.user2)print('プレーヤー3:',Player.user3)

以上が本稿の内容ですので、皆様のご勉強に役立てていただければ幸いです。

Recommended Posts

地主取引のPythonシミュレーション
Pythonの基盤を統合する(4)
Python(7)の基盤を統合する
Python(6)の基盤を統合する
Python(5)の基盤を統合する
Pythonの基盤を統合する(3)
プレイカードの配布を実現するためのPythonシミュレーション
pythonでのwheelの使用法
Pythonは中国語の4つの車輪を処理します
Pythonの用途は何ですか
Pythonクローラーのスクレイピーシミュレーションログイン
Python文字列プーリングの前提
Python3.8の新機能の秘密
Pythonの父がMicrosoftに加わる
python accesshdfsの操作
pythonでのタプルの使用法
pythonを実行するメソッドを終了します
pythonでのrbの意味を理解する
Pythonはスタックの構造を実装できますか?
pythonインタラクティブモードの基本を学ぶ
pythonの下部にあるロジスティック回帰
pythonの複数のバージョンの競合を解決します
Pythonは分数シーケンスの合計を実装します
pythonのid関数は何ですか
python3のピップパスはどこにありますか
Python言語の本質:Itertoolsライブラリ
python言語の利点は何ですか
pythonインスタンス化オブジェクトの特定のメソッド
python3はマスク描画の機能を実現します
python開発の見通しは何ですか
pythonの関数本体は何ですか
pythonインポートライブラリの特定の方法
pythonの複数のバージョンの競合を解決します
Python3.9の7つの機能
2.1 Pythonインタープリター(pythonインタープリター)
pythonでのadbの機能は何ですか
Python super()メソッドの原理の詳細な説明
javaとpythonの構文の違い
Pythonは学生管理システムの開発を実現します
PythonはDoudizhuでカードのシャッフルを実装します
pythonでのリストの意味と使用法
起動エラーを実行しているpythonの問題を解決します
python辞書の値を変更できますか?
Pythonはスネークゲームのソースコードを実装しています
Pythondecimalモジュールの使用法の詳細な説明
27歳でパイソンを学ぶのはどうですか?
ubuntuでpythonをアンインストールした結果、非常に
Pythonは釣りマスターのゲーム実装を書きます
[898] pythonは2つのリストの共通部分を取得します|ユニオン|違い
Python関数パラメータ分類の原理の詳細な説明
エンタープライズ言語に対するpythonの利点は何ですか
Python2とPython3の違いの簡単な要約
Pythonタイマースレッドプールの原理の詳細な説明
pythonのコンパイルとsslのインストールの問題を解決します
Pythonインターフェース開発の実装手順の詳細な説明
pythonはどのように辞書のキーを呼び出しますか
Pythonはスキンのフルセットをクロールします
Pythonでのパッケージの導入を理解する方法
Python構文の基本
pythonに基づいて凸型船体の問題を解決します
Pythonの基本構文