我正在尝试制作一个纸牌游戏,游戏中的职业应该由拥有最多王牌的玩家赢得。该功能是创建一个完整的牌组,每个5张牌发给2名玩家,然后显示拥有最多a的玩家。我正在为最后一部分而挣扎
class Card:
def __init__(self, rank, suit):
self.suit = suit
self.rank = rank
def get_rank(self):
#self.get_rank = ['Ace', '2', '3', '4', '5', '6', '7', '8', '9', '10', 'Jack', 'Queen', 'King']
if self.rank == 1:
trueRank = "Ace"
elif self.rank == 11:
trueRank = "Jack"
elif self.rank == 12:
trueRank = "Queen"
elif self.rank == 13:
trueRank = "King"
else:
trueRank = str(self.rank)
return "{rank} of {suit}".format(rank = trueRank, suit = self.suit)
def display(self):
print ("{} of {}".format(self.suit, self.rank))
class Deck:
def __init__(self):
self.cards = []
self.make()
def make(self):
for s in ["Spades", "Clubs", "Diamonds", "hearts"]:
for v in ['Ace','Two','Three','Four','Five','Six','Seven','Eight','Nine','Ten','Jack','Queen','King']:
self.cards.append(Card(s,v))
def display(self):
for c in self.cards:
c.display()
def shuffle(self):
for i in range(len(self.cards) - 1, 0, -1):
r = random.randint(0,i)
self.cards[i], self.cards[r] = self.cards[r], self.cards[i]
def deal(self):
return self.cards.pop()
class Player:
def __init__(self, name):
self.name = name
self.hand = []
self.ace = 0
def add(self, deck):
self.hand.append(deck.deal())
return self
def ace_cards(self):
cards = 0
for card in self.ace:
card = str(self.hand)
if card == 'Ace':
cards += 1
return cards
def display(self):
for card in self.hand:
card.display()
def main():
pass
# create one deck and shuffle it
deck = Deck()
deck.shuffle()
# deck.display()
#create both players
player1 = Player('player 1')
player2 = Player('player 2')
#populate the players hands with 5 cards each
player1.add(deck)
player2.add(deck)
player1.add(deck)
player2.add(deck)
player1.add(deck)
player2.add(deck)
player1.add(deck)
player2.add(deck)
player1.add(deck)
player2.add(deck)
player1.add(deck)
player2.add(deck)
#display the players
print('This is the hand of player 1:')
player1.display()
print('')
print('This is the hand of player 2:')
player2.display()
print('')
#display the number of ace cards in each players hands
print(str(player1.ace_cards()))
print('Number of ace cards in each player''s hand:')
print('Player 1 has aces')
print('Player 2 has aces')
print('')
#display the winner
提前谢谢! \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
目前没有回答
相关问题 更多 >
编程相关推荐