私は Python の最初のコースを受講しています。私の教科書は非常に浅いので、実際の経験によってクラスに慣れようとしています。
テキサス ホールデム ポーカー ハンド (最初は 1 ハンド) を多数処理し、5 枚のテーブル カードと 2 ハンドで考えられるすべてのハンド順列を調べる前に、テーブルに 5 枚のカードを配るプログラムを作成したいと考えています。カード。(自分の手札の 2 枚のカードとテーブルの 5 枚のカードのうちの 3 枚を組み合わせることができます)。最終的には、ハンドを比較して評価し、勝者を指名するように拡張したいと考えています。しかし、それは後で説明します。
私が知りたいのは、この問題をクラスで構造化する良い方法です。
ディール関数を保持し、ディールされたさまざまなハンドを含む Hand クラスを作成し、deck をグローバル変数にするのは賢明でしょうか?
#The hand-class is a class for the dealt poker-hands.
import random
deck = [i for i in range (102, 115)]
deck += [i for i in range(202, 215)]
deck += [i for i in range(302, 315)]
deck += [i for i in range(402, 415)]
# I define a card by a prefix number - the suit - and the card value. Jack of spades = 111 if spades corresponds to 1.
class Hand:
def __init__(self):
return None
def deal_hand(self):
self.hand = []
for i in range (0,2):
card = random.choice(deck)
self.hand.append(card)
deck.remove(card)
#def score():
#a function to determine the sore of the hand..
私が求めているのは、この目的のためにクラスを使用する正しい方法は何ですか? ポーカー テーブルに配られた 5 枚のカードを保持する別のクラスと、さまざまな順列を保持する別のクラスを作成する必要がありますか?
それとも、ハンド、ハンドのスコア、テーブルで配られたカード、およびハンドのカードとテーブルのカードのさまざまな順列のすべてが同じクラスに属するべきですか?
私は誰にもコードを書くように頼んでいるわけではありませんが、私がどの方向に目を向けるべきかについて簡単なヒントを与える時間があれば、とても感謝しています! ありがとう!マリウス