3
私はPythonで次のコードを作った。どこでdeck = deck_of_cards()。私の質問は、2番目のカードを扱う前に、各プレイヤーに最初のカードを渡す必要があるように、2番目の機能を修正する方法です。今のところ、他のプレイヤーにカードを渡す前に、2枚のカードをプレイヤーに渡しているように見えますが、それを修正する方法はわかりません。あなたが最初の車のためのすべての選手を反復処理してループのためにあなたを交換する必要が2枚目のカードを扱う前に、各プレイヤーに1枚のカードを扱う - ブラックジャックゲーム
import random
def deck_of_cards():
suits = ['D', 'C', 'H', 'S']
denominations = ['2', '3', '4', '5', '6', '7', '8',
'9', 'T', 'J', 'Q', 'K', 'A']
deck = []
for suit in suits:
for denomination in denominations:
ds = denomination + suit
deck.append(ds)
random.shuffle(deck)
return deck
def deal_cards(deck, players):
hands = []
for j in range(players):
player_hand = []
for i in range(2):
cards = deck.pop(0)
player_hand.append(cards)
hands.append(player_hand)
return hands
問題はplayer_hand' 'の実装です。反復を開始し、 'player_hand'をインスタンス化し、次に各プレイヤーにその手を追加します。あなたは各プレイヤーのために新しい手が必要です。 'hand'属性と' add_to_hand() 'メソッドを持つ' Player'クラスはきれいです。 – pstatix
はい、今修正しました。 –
それはうまく動作するすべての集中的な目的のためです。しかし、どのプレーヤーがどのような手を持っているかをどのように知るのですか?私はクラスデザインで解決するためにそれをOPに任せます。解決策は質問に答えます。 – pstatix