[英]How to stop a block of code from happening once an incorrect key is pressed
因此,如果用戶正確輸入屏幕上的內容,我將獲得此代碼塊。
words = ["Games","Development","Keyboard","Speed","Typer","Anything","Alpha","Zealous","Accurate","Basics","Shortcut","Purpose","Window","Counter","Fortress","Modification","Computer","Science","History","Football","Basketball","Solid","Phantom","Battlefield","Advanced","Warfare","Download","Upload","Antidisestablishmentarianism","Supercalifragilisticexpialidocious","Discomobobulation","Liberated","Assassin","Brotherhood","Revelation","Unity","Syndicate","Victory"]
wordcount = 0
maxwords = 12
skips = 0
def nextWord():
global score
global wordcount
global skips
global maxwords
global name
global high_score
entry.focus_set()
if entry.get().lower() == words[1].lower():
score += 1
wordcount += 1
wordcounter.config(text="Words: " + str(wordcount))
而且我想知道如果他們不輸入屏幕上的內容,如何停止運行此代碼塊:
for i in range(maxwords):
entry.delete(0, tkinter.END)
random.shuffle(words)
label.config(text=str(words[1]))
scoreLabel.config(text="Time: " + str(score)+ "s")
即使他們由於以下原因未正確輸入,它也會繼續:
def startGame(event):
nextWord()
root.bind("<Return>", startGame)
我目前有這個:
elif entry.get().lower() != words[1].lower():
wronglabel.config(text="WRONG!")
time.sleep(0.6)
wronglabel.delete(0, tkinter.END)
目前這是做
wronglabel = tkinter.Label(root, text="", font =("Helvetica, 14"))
wronglabel.pack()
說錯了,但我想知道如何使其不會隨機洗牌,如果用戶輸入的單詞不正確,則從列表中獲取項目。 謝謝。
總之,它使得:(僅發布相關代碼):
#Add words to this list to include them in the game
words = ["Games","Development","Keyboard","Speed","Typer","Anything","Alpha","Zealous","Accurate","Basics","Shortcut","Purpose","Window","Counter","Fortress","Modification","Computer","Science","History","Football","Basketball","Solid","Phantom","Battlefield","Advanced","Warfare","Download","Upload","Antidisestablishmentarianism","Supercalifragilisticexpialidocious","Discombobulation","Liberated","Assassin","Brotherhood","Revelation","Unity","Syndicate","Victory"]
wordcount = 0
maxwords = [len(words)]
def nextWord():
global score
global wordcount
global maxwords
global name
global high_score
entry.focus_set()
if entry.get().lower() == words[1].lower():
score += 1
wordcount += 1
wordcounter.config(text="Words: " + str(wordcount))
elif entry.get().lower() != words[1].lower():
wronglabel.config(text="WRONG!")
for i in words[len(maxwords)]:
entry.delete(0, tkinter.END)
random.shuffle(words)
label.config(text=str(words[1]))
scoreLabel.config(text="Time: " + str(score)+ "s")
def startGame(event):
nextWord()
wronglabel = tkinter.Label(root, text="", font =("Helvetica, 14"))
wronglabel.pack()
(我已經編輯了代碼中的一些小問題,以解決另一個問題)
我可能只是無法正確理解這一點,但是您不能像這樣在if語句內移動for循環嗎?
if entry.get().lower() == words[1].lower():
score += 1
wordcount += 1
wordcounter.config(text="Words: " + str(wordcount))
for i in words[len(maxwords)]:
entry.delete(0, tkinter.END)
random.shuffle(words)
label.config(text=str(words[1]))
scoreLabel.config(text="Time: " + str(score)+ "s")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.