1
這是一款記憶遊戲,用戶可以選擇兩個按鈕(單元格)。如果單元格後面的兩個單詞匹配,單詞將保持可見,否則單元格將隱藏,而您無法看到單詞背後的單詞。我想要做的是在單元被按下時顯示單詞後面的單詞。我想將該函數應用於choice1和choice2,甚至應用於用戶已經找到的對。Python:我按下按鈕時如何凍結按鈕? - Tkinter
我曾嘗試第16行更改self.hidden = not self.hidden
到
if self.hidden:
self.hidden = False
else:
self.hidden = False
但沒有pefectly工作了。
這裏是重要的部分:
from tkinter import *
import random
class Cell:
def __init__(self, word, hidden = True):
self.word = word
self.hidden = hidden
def show_word(self):
""" Shows the word behind the cell """
if self.hidden:
self.hidden = False
else:
self.hidden = False
self.button["text"] = str(self)
if mem.choice1 is None:
mem.choice1 = self
elif mem.choice2 is None:
mem.choice2 = self
mem.update_tries()
else:
choice1, choice2 = mem.choice1, mem.choice2
mem.choice1, mem.choice2 = self, None
self.check(choice1, choice2)
def check(self, choice1, choice2):
""" Checks if the chosen words are a pair """
if choice1.word != choice2.word:
for cell in (choice1, choice2):
cell.hidden = True
cell.button['text'] = str(cell)
def __str__(self):
""" Displays or hides the word """
if self.hidden:
return "---"
else:
return self.word
class Memory(Frame):
""" GUI application that creates a Memory game """
def __init__(self, master):
super(Memory, self).__init__(master)
self.grid()
self.create_widgets()
self.tries = 0
self.choice1 = None
self.choice2 = None
什麼是你問的問題嗎?你在問如何切換self.hidden的值嗎? 'self.hidden = not self.hidden'工作正常,不需要用任何東西代替它。 –
如果你點擊一個單元格,單元格後面的單詞出現而不是「---」。問題在於用戶是否愚蠢,並再次按下同一個單元格。該單元格隱藏並顯示「---」。我不想讓它回到「---」。我希望它「凍結」,並仍然顯示這個詞。 – Amazon