Je suis novice en Python et c'est la première fois que je pose une question sur stackOverflow, mais je suis un lecteur de longue date. Je travaille sur un jeu basé sur une carte simple mais j'ai du mal à gérer les instances de ma classe Hand. Si vous regardez ci-dessous vous pouvez voir que la classe main est un simple conteneur pour les cartes (qui sont juste des valeurs int) et chaque classe Player contient une classe main. Cependant, chaque fois que je crée plusieurs instances de ma classe Player, elles semblent toutes manipuler une seule instance de la classe Hand. D'après mon expérience en C et en Java, il semble que je rends ma classe Hand statique. Si quelqu'un pouvait aider avec ce problème, je l'apprécierais grandement.Gestion des instances en Python
Merci, Thad
Pour clarifier: Un exemple de cette situation serait
p = player.Player()
p1 = player.Player()
p.recieveCard (15)
p1.recieveCard (21)
p.viewHand()
qui se traduirait par: [15,21]
même si une seule carte a été ajouté à la page
classe des mains:
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
Classe du joueur
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
Merci beaucoup! Je ne peux pas vous dire combien cela aide. – BeensTheGreat