我目前是一個蟒蛇新手,並使用python來創建一些遊戲。我寫了一個遊戲「House of Cards」,基本上我正在嘗試使用我在OOP學到的知識來完成它。規則很簡單 - 你需要最大的牌才能贏。玩家首先比較數字,然後是牌的套數 - 最大牌的人贏。我寫了下面的代碼:Python遊戲「房子的卡」需要幫助
import itertools
import random
class Card (object):
def __init__ (self):
self.suit = ["Cubs", "Diamonds", "Hearts", "Spades"]
self.value = ["2","3","4","5","6","7","8","9","10", "J", "Q", "K", "A"]
self.deck = []
for card in itertools.product(self.value, self.suit):
self.deck.append(card)
class Player(object):
def __init__ (self, name, card = None):
self.name = name
self.carddeck = Card()
self.card_available = self.carddeck.deck
def draw_a_card(self):
self.card = random.choice(self.card_available)
print "%s has gotten a %s" %(self.name, self.card)
def __cmp__(self, other):
if self.card_available.index(self.card) > self.card_available.index(other.card):
print "%s wins!" %(self.name)
elif self.card_available.index(self.card) < self.card_available.index(other.card):
print "%s wins!" %(other.name)
player_1= Player("Player 1")
player_2 = Player("Player 2")
player_3 = Player("Player 3")
player_1.draw_a_card()
player_2.draw_a_card()
player_3.draw_a_card()
cards_deck = Card()
player_1.__cmp__(player_2)
了很多的努力後,我已經成功的球員相比,1和2之間的卡,但我不知道如何將播放3成對比。
'「小熊」' - >「俱樂部」 – Andy
你實現它的方式,你必須做兩個獨立的比較: player_1到player_2,就像你在做什麼,並且與player_3進行比較的勝者。 –
你可以最大化,排序,或簡單地使用幾個>來檢查誰贏了。 – njzk2