Я новичок в Python, и я впервые задаю вопрос stackOverflow, но давно читаю. Я работаю над простой карточной игрой, но у меня возникают проблемы с управлением экземплярами моего класса Hand. Если вы посмотрите ниже, то увидите, что класс рук - это простой контейнер для карт (которые являются просто значениями типа int), и каждый класс Player содержит класс рук. Однако всякий раз, когда я создаю несколько экземпляров своего класса Player, они все, похоже, манипулируют одним экземпляром класса Hand. Из моего опыта в C и Java кажется, что я как-то делаю свой класс Hand статичным. Если бы кто-нибудь мог помочь с этой проблемой, я был бы очень признателен.
Спасибо,
Тад
Чтобы уточнить: примером такой ситуации будет
p = player.Player ()
p1 = player.Player ()
p.recieveCard (15)
p1.recieveCard (21)
p.viewHand ()
, что приведет к:
[15,21]
хотя к р
была добавлена только одна карта
Класс рук:
class Hand:
index = 0
cards = [] #Collections of cards
#Constructor
def __init__(self):
self.index
self.cards
def addCard(self, card):
"""Adds a card to current hand"""
self.cards.append(card)
return card
def discardCard(self, card):
"""Discards a card from current hand"""
self.cards.remove(card)
return card
def viewCards(self):
"""Returns a collection of cards"""
return self.cards
def fold(self):
"""Folds the current hand"""
temp = self.cards
self.cards = []
return temp
Класс игрока
import hand
class Player:
name = ""
position = 0
chips = 0
dealer = 0
pHand = []
def __init__ (self, nm, pos, buyIn, deal):
self.name = nm
self.position = pos
self.chips = buyIn
self.dealer = deal
self.pHand = hand.Hand()
return
def recieveCard(self, card):
"""Recieve card from the dealer"""
self.pHand.addCard(card)
return card
def discardCard(self, card):
"""Throw away a card"""
self.pHand.discardCard(card)
return card
def viewHand(self):
"""View the players hand"""
return self.pHand.viewCards()
def getChips(self):
"""Get the number of chips the player currently holds"""
return self.chips
def setChips(self, chip):
"""Sets the number of chips the player holds"""
self.chips = chip
return
def makeDealer(self):
"""Makes this player the dealer"""
self.dealer = 1
return
def notDealer(self):
"""Makes this player not the dealer"""
self.dealer = 0
return
def isDealer(self):
"""Returns flag wether this player is the dealer"""
return self.dealer
def getPosition(self):
"""Returns position of the player"""
return self.position
def getName(self):
"""Returns name of the player"""
return self.name