python猜字小游戏基于tkinter模块
12.30 If I give up.Do you think that I’m never going to get up?如果我放弃了,你们认为我还能站起来吗?
猜字小游戏虽然不是那种稍微大型游戏,对python有基础人练手是很不错的,可以让人对一个小项目有一个思路。下面我给大家来理理思路:
1.首先创建一个窗口,有文本框,猜和关闭按钮,在窗口上方有提示语言
2.写事件函数和函数(俩按钮和文本框对应的事件处理函数,还有一个猜的次数函数,大概就这三个)
3.将猜按钮和关闭按钮对应事件处理函数
下面来一起动手吧!!!
用tkinter模块处理基本框架:
def labelqval(text1):
label_1.config(label_1,text=text1)#提示猜的过程
root=tk.Tk(className="猜字游戏")
root.geometry("400x180+950+250")#分别代表窗口宽度,高度,窗口相当于电脑的位置
label_1=tk.Label(root,width=80)
label_1.pack(side="top")
entry_1=tk.Entry(root,width=35)
entry_1.pack(side="left")#文本框
butGuess=tk.Button(root,text="猜")
butGuess.pack(side="left")
butGuess1=tk.Button(root,text="关闭")
butGuess1.pack(side="left")猜和关闭按钮
labelqval("请输入"+str(nmin)+"到"+str(nmax)+"之间任意整数")
root.mainloop()
窗口问题解决后,继续处理文本框、猜按钮和关闭按钮对应的事件处理函数
1.文本框和猜按钮对应的事件处理函数
def GuessWords(event):
global nmax
global nmin
global num
global running
if running:
var_1=int(entry_1.get())
if var_1==number:
num+=1
labelqval("恭喜你答对了")
running=False
elif var_1>number:
num+=1
nmax=var_1
labelqval("大了哦,请输入"+str(nmin)+"到"+str(nmax)+"之间的任意整数")
else:
num+=1
nmin=var_1
labelqval("小了哦,请输入"+str(nmin)+"到"+str(nmax)+"之间的任意整数")
else:
labelqval("你已经答对了哦!")
2.关闭按钮对应的事件处理函数
def BtuClose(event):
root.destroy()
3.给文本框和按钮绑定事件
entry_1.bind("<Return>",GuessWords)#文本框事件,<Return>回车键的意思
butGuess.bind("<Button-1>",GuessWords)#猜按钮事件,<Button-1>鼠标左键
butGuess1.bind("<Button-1>",BtuClose)#关闭按钮事件
之后处理一些细小问题,完整代码(这也是非常重要的)
1.窗口里加个聚焦
entry_1.focus_set()
2 加一个提示次数的函数是程序更完美点
def Guessnum():
if num==1:
labelqval("你真厉害,一次就答对了")
elif num<10:
labelqval("还可以吧,尝试了"+str(num)+"次才成功")
else:
labelqval("得加油了,都已经尝试"+str(num)+"次才成功")
把这提示函数加到GuessWords事件函数里面
大致的思路就是这样,这只是碎片式代码,如果你尝试运行不出来,我的博客资源里有源码。链接:点不开去我主页资源里有
下次给新手讲一下游戏py文件打包成程序那样