私のクラスではbackcard = self.backcardを定義しています。ただし、プログラムを実行してmain関数を実行すると、私は、backcard.isClickedが定義されていないというエラーが発生し続ける。私が定義したにもかかわらず、エラーバックカードが定義されていないままになっています
class MemoryGame(Deck, PlayingCard):
def __init__(self, fulldeck):
self.deck = Deck()
self.fulldeck = fulldeck
self.deck.shuffle()
def gameboard(self, win, xpos, ypos):
gameboard = self.gameboard
dealtCard = self.deck.dealCard()
suite = dealtCard.getSuite()
rank = dealtCard.getRank()
self.cardlist = []
for rowsofcards in range(4):
backcard = Image(Point(xpos,ypos),"playingcards/b1fv.gif")
self.backcard = backcard
ypos += 130
xpos = 190
for rowsofcard in range(6):
rowsofcards = self.deck.dealCard()
randomsuite = rowsofcards.getSuite()
randomrank = rowsofcards.getRank()
cardimage = Image(Point(xpos,ypos),"playingcards/"+ (randomsuite) + str(randomrank) +".gif")
cardimage.draw(win)
backcard = Image(Point(xpos,ypos),"playingcards/b1fv.gif")
backcard.draw(win)
self.cardlist.append(backcard)
xpos += 100
self.backcard = backcard
self.backcard = backcard
私は試したプレースメントを表示するために3つの異なる場所に書かれていますが、何も動作しません。そのコードの部分をforループの前に置くと、割り当て前にそのバックカードが参照されるようになります。これも私のメイン機能でエラーを取得している部分である。
while not Quitbutton.isClicked(p):
#Start Game
if StartGameButton.isClicked(p) and player == True:
if first == True:
Game.gameboard(win,110,6)
if backcard.isClicked(p):
backcard.undraw()
first = False
if StartGameButton.isClicked(p):
p = win.getMouse()
if backcard.isClicked(p):
backcard.undraw()
p = win.getMouse()
'main()'に 'Game.backcard'を使ってみましたか? – zondo
_ backcard.isClickedが定義されていないというエラーが発生し続けます。 'backcard'は' Image'クラスのインスタンスです。 'Image'オブジェクトは' isClicked() '関数を持っていますか? –
'class MemoryGame(Deck、PlayingCard)' - あなたは継承がどのように機能するかを誤って誤解しています。 – user2357112