私のクラスでは、私は働くGo Fishのゲームを作らなければなりません。私はこれまでクラスに入っていましたが、手に戻ってハンドを送り返す方法を理解できないので、チェックステートメントを作って、彼が4種類あるかどうかを調べることができます。助言がありますか?Pythonの魚に行く
class Card(object):
""" A playing card. """
RANKS = ["A", "2", "3", "4", "5", "6", "7",
"8", "9", "10", "J", "Q", "K"]
SUITS = ["c", "d", "h", "s"]
def __init__(self, rank, suit):
self.rank = rank
self.suit = suit
def __str__(self):
rep = self.rank + self.suit
return rep
class Hand(object):
""" A hand of playing cards. """
def __init__(self):
self.cards = []
def __str__(self):
if self.cards:
rep = ""
for card in self.cards:
rep += str(card) + " "
else:
rep = "<empty>"
return rep
def clear(self):
self.cards = []
def add(self, card):
self.cards.append(card)
def give(self, card, other_hand):
self.cards.remove(card)
other_hand.add(card)
def check(self,player):
print(player1)
for self.cards in rep:
print("i")
#####################
class Deck(Hand):
""" A deck of playing cards. """
def populate(self):
for suit in Card.SUITS:
for rank in Card.RANKS:
self.add(Card(rank, suit))
def shuffle(self):
import random
random.shuffle(self.cards)
def deal(self, hands, per_hand = 1):
for rounds in range(per_hand):
for hand in hands:
if self.cards:
top_card = self.cards[0]
self.give(top_card, hand)
else:
print ("Out of cards!")
def main():
deck1 = Deck()
deck1.populate()
deck1.shuffle()
player1 = Hand()
player2 = Hand()
hands = [player1, player2]
deck1.deal(hands, per_hand = 5)
print(player1)
player1.check(player1)
main()
プレイヤーのような感じです。それでは、ハンドを自分でチェックしてみませんか?すでにそれをやっていることの始まりがあるようです( 'check'は決してプレイヤーを参照しません)。あなたの意図が 'check'関数の目的であるかどうかははっきりしていません。それらのカードのために最高のハンドを返すか、それとも誰が勝者か、他のプレイヤーが渡されたのかを把握する必要がありますか? –