Поэтому я работаю над карточной игрой, когда пытаюсь сформировать класс Pile, в котором я создал функцию для печати карточек в классе карточек и списка карточек в классе колоды.Когда я пытаюсь использовать функцию из класса карты (которая работала в других классах) в классе стопки, я не получаю ожидаемого результата.Как я могу это исправить?
Класс карты:
import random
from Enums import *
class Card:
def __init__(self):
self.suit = Suit.find(random.randint(1, 4))
self.rank = Rank.find(random.randint(1, 14))
def show(self):
print (self.rank.value[1], "of", self.suit.value[1])
Класс кучи:
from Enums import *
from Card import *
from Hand import *
class Pile:
def __init__(self):
self.cards = []
self.cards.append(Card())
def discard(self, hand, card):
self.cards.append(card)
if (not searchCard(self, hand, card)):
print ("The card was not found, please select another one or cheat")
return True
else:
return False
def takePile(self, hand):
for x in self.cards:
hand.cards.append(self.cards[x])
def clearPile(self):
while len(self.cards) > 0:
self.cards.pop()
def searchCard(self, hand, card):
flag = False
for x in hand.cards and not flag:
if (hand.cards[x].rank.value[0] == card.rank.value[0]):
if (hand.cards[x].suit.value[0] == card.suit.value[0]):
hand.cards[x].pop()
flag = True
return flag
def showCurrent(self):
for x in self.cards:
x.show()
Я имею в виду функцию show в классе Card и showCurrentи init в классе Pile
Когда я запускаю игру со строкой
print ("It's your turn now, the pile presents a", pile.showCurrent())
, вместо функции show в классе Card я получаю None следующим образом:
Теперь ваша очередь, куча дарит None