我正在编写一个文本游戏,您必须在60秒内输入尽可能多的随机生成(从文件中)的单词。我目前有一个工作计时器,但我的输入小部件无法执行任何操作。 我应该能够在我的输入小部件上按Enter键,并且如果其中的单词等于生成的单词,则得分会上升。该框也应清除,但也不会清除。
develop
这些是涉及的主要功能。
def game(*args):
if timer == 60: # Starts the timer and calls the words function
countdown()
words()
def words():
global score
global timer
if timer > 0:
entry.focus_set() # Activate the entry box
word = str(random.choice(word_list[0]))
word_label.config(text=word)
if entry.get().lower() == word.lower():
score += 1
entry.delete(0, 9999999)
if timer == 0:
results(score)
def countdown():
global timer
if timer > 0:
timer -= 1
# Update the time left label
time_label.config(text="Time left: " + str(timer))
# Run the function again after 1 second
time_label.after(1000, countdown)
这是所有相关的GUI代码。我头上有些东西了吗? 编辑:经过更多测试后,代码似乎甚至没有运行到“如果输入”部分,是因为存在计时器功能正在运行并阻止单词功能正常运行?
答案 0 :(得分:-1)
如果要在按Enter键时检查单词,则可能要添加一个按键监听事件,这是我的处理方式:
def key_press(event):
#here you would put your function for checking the word
print "key_press", repr(event.char)
然后,在您的根目录上:
frame = tkinter.Frame(root)
frame.bind("<KeyRelease-enter>", key_press)
frame.pack