我是一个代码初学者,也不仅仅是一个Python初学者。老师给了我们一个游戏项目,我们要开发一个记忆游戏,首先我们选择难度(要记住多少个数字),然后这些数字会以1秒的间隔一个一个出现,然后用户会提交答案,如果用户把所有的数字都答对了,进入下一级(难度增加1),否则退出。但这些数字必须随机出现在标签上位置。但是在我看来,他们出现在一个特定的位置有没有办法使数字出现在随机位置?你知道吗
from tkinter import *
from random import*
from tkinter import simpledialog
from tkinter import messagebox
def check():
global difficulty
global entered_correctly
global a
content = int(e.get())
if content == sequence[a]:
label_result['text'] = "correct"
entered_correctly = entered_correctly + 1
if entered_correctly == difficulty:
messagebox.showinfo("Congratulations", "YOU WIN")
entered_correctly = 0
difficulty = difficulty + 1
create_sequence()
show_sequence()
else:
messagebox.showinfo("You entered the wrong number", " YOU LOSE!")
root.quit()
a = a + 1
def get_me():
global difficulty
difficulty = simpledialog.askinteger("Choose the difficulty", "Enter a positive integer")
if difficulty != 0:
button.forget()
pack_widgets()
create_sequence()
def start():
button.pack()
def pack_widgets():
e.pack()
btn_check.pack(fill=X, pady=10)
label_result.pack()
label_result.after(1000, show_sequence)
def create_sequence():
for k in range(0, difficulty):
sequence.append(randint(0, 20))
def show_sequence():
label.pack()
k = 1
seconds = 1
global counter
while 1:
if counter == difficulty:
break
label.after(1000*k, change_text)
counter = counter + 1
k = k+1
counter = 0
def change_text():
global i
label["text"] = sequence[i]
i = i+1
entered_correctly = 0
a = 0
i = 0
difficulty = 0
counter = 0
root = Tk()
root.title("Memory Game")
root.geometry("600x480")
button = Button(root, text="Start", command=get_me)
sequence = []
e = Entry(root)
btn_check = Button(root, fg="green", bg="white", command=check, text="Check", bd=5)
label = Label(root, width=80, height=40, text='')
label_result = Label(root, width=20, height=5, text='', bg="brown", fg="blue")
start()
root.mainloop()
最简单的方法是:
我建议您使用
Text
小部件,因为它支持在随机行和列位置插入文本,而不是使用Label
并尝试在其中随机放置文本。你知道吗这是一个经过必要修改的代码版本。我用名为
num_display
的Text
小部件替换了您简单命名的Label
。主要改变是change_text()
功能。你知道吗下面是它运行的屏幕截图,并在随机位置显示其中一个数字:
相关问题 更多 >
编程相关推荐