2020-12-30

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文件打包成程序那样

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值