本文已参与[新人创作礼]活动,一起开启掘金创作之路。
为了使广大的python爱好者来到这个学习的旅馆!接下来的小游戏是希望我能够在未来看到这笔记时,能够充满兴趣,重新系统的来学习Python的GUI模块。
python小游戏 ---- 恭喜中奖游戏
菜鸡小建议:
代码使用
对半取数,能更快更科学的找到你心中的那个数哦!
代码改进
1.有能力的大佬,也可修改修改,找到适合自己的最优!比如添加一点背景音乐,可以在猜中的时候,能播放; 2.增加猜数字的难度,如增加猜数的次数限制,数字范围扩大; 3.增加猜数字的趣味,增加道具,如锦囊,次数增加等; 4.引入其他模块,增加技术底层的实力。
代码具体如下:
# -*- coding:utf-8 -*-
"""
作者: catgod007
日期: 2021年07月24日
"""
from tkinter import *
import random
import re
verstion = 1.0
targetnum = random.randint(1,1024)
minnum = 1
maxnum = 1024
count = 0
def guess():
global minnum,maxnum,count
if inputVar.get() and re.match(r"\d",inputVar.get()):# 验证是否是数字且不是空。
guessnum = int(inputVar.get())
if minnum <= guessnum <= maxnum:
count += 1
if guessnum == targetnum:
msVar.set("恭喜你猜对了,它是 %d ,共猜了%d次。" % (targetnum,count))
elif guessnum < targetnum:
minnum = guessnum
msVar.set("小了,请输入%d-%d之间的数字。" % (minnum,maxnum))
else:
maxnum = guessnum
msVar.set("大了,请输入%d-%d之间的数字。" % (minnum,maxnum))
else:
msVar.set("猜数字的范围是%d-%d" % (minnum,maxnum))
else:
msVar.set('请输入正确的数字')
root = Tk()
root.title('猜数字v{}'.format(verstion))
root.geometry('800x600')
msVar = StringVar()
msVar.set('请输入你要猜的数字(1-1024):')
valueLabel = Label(root,textvariable=msVar,font='楷体 24 normal',height=3)
valueLabel.pack(pady=10)
# 提醒词
inputVar = StringVar()
inputentry = Entry(root,textvariable=inputVar,font='楷体 18 normal')
inputentry.pack(pady=5)
# 文本框
guessbutton = Button(root,text='猜',command=guess,width=10,cursor='hand2')
guessbutton.pack()
# 按钮
感谢大家的支持,关注,白嫖,评论!