import tkinter import tkinter.messagebox import random class guessprice: # 界面布局方法 def __init__(self): #创建主界面,并且保存到成员属性中 self.root = tkinter.Tk() self.root.minsize(240, 200) self.root.maxsize(240, 200) self.root.title('价格竞猜小游戏1.0版') #设置显示面板的变量 self.result = tkinter.IntVar() self.result.set('') self.truenum = random.randint(1, 100) # 随机一个数字作为答案 #界面布局 self.menus() self.layout() self.root.mainloop() #菜单界面的摆放 def menus(self): # 添加菜单 # 创建总菜单 allmenu = tkinter.Menu(self.root) # 添加子菜单1 filemenu = tkinter.Menu(allmenu, tearoff=0) allmenu.add_cascade(label='开始', menu=filemenu) filemenu.add_command(label='并没有啥', command=self.bmys) self.root.config(menu=allmenu) # 添加子菜单2 filemenu = tkinter.Menu(allmenu, tearoff=0) allmenu.add_cascade(label='查看', menu=filemenu) filemenu.add_command(label='作者', command=self.zz) filemenu.add_command(label='联系方式', command=self.lxfs) # 添加分割线 filemenu.add_separator() filemenu.add_command(label='版本号', command=self.bbh) self.root.config(menu=allmenu) #主界面的摆放 def layout(self): # 描述标签1 label1 = tkinter.Label(self.root, text='请输入要 竞猜的价格:') label1.place(x=5, y=0, height=80, width=80) # 输入文本框1 entry1 = tkinter.Entry(self.root, bd=3, font=('宋体', 15), textvariable=self.result) entry1.place(x=90, y=20, height=40, width=115) # 单位标签2 label2 = tkinter.Label(self.root, text='元', font=('宋体', 15)) label2.place(x=210, y=0, height=80, width=30) # 说明标签3 label3 = tkinter.Label(self.root, text='(正确的价格在1-100之间,少侠努力呦~)') label3.place(x=5, y=65, height=30, width=230) # 确定按钮1 btn1 = tkinter.Button(self.root, text='确定', bd=3, command=self.queding) btn1.place(x=10, y=105, height=40, width=100) # 查看正确答案按钮2 btn2 = tkinter.Button(self.root, text='查看正确答案', bd=3, command=self.ckda) btn2.place(x=130, y=105, height=40, width=100) # 操作函数 # 菜单部分 # 版本号设置 def bbh(self): tkinter.messagebox.showinfo('', '上面明明写着1.0,还问。。。') # 联系方式设置 def lxfs(self): tkinter.messagebox.showinfo('', '这么想要作者的联系方式啊= =') # 作者设置 def zz(self): tkinter.messagebox.showinfo('', '小饼饼~是不是萌萌哒') # 并没有啥设置 def bmys(self): tkinter.messagebox.showinfo('', '0.0真的没啥,棒棒糖也没有') # 功能部分 # 确定按钮的设置 def queding(self): guess = self.result.get() # 获取输入框中的数字,以备稍后的对比之用 # 对输入的数字和随机选取的数字进行大小比对 if guess == self.truenum: tkinter.messagebox.showinfo('', '哎呦不错哦,猜对了') self.truenum = random.randint(1, 100) self.result.set('') # 清空之前在输入框中输入过的数字 else: if guess > self.truenum: tkinter.messagebox.showinfo('', '猜的大了') self.result.set('') # 清空之前在输入框中输入过的数字 else: tkinter.messagebox.showinfo('', '猜的小了') self.result.set('') # 清空之前在输入框中输入过的数字 # 查看答案按钮的设置 def ckda(self): global truenum tkinter.messagebox.showinfo('', self.truenum) self.truenum = random.randint(1, 100) # 保证在查看完答案之后直接开启随机数字并可以进行下一次游戏 myguessprice = guessprice()
通过使用面向对象的方法,编写了一个小型的猜价格游戏,当然相对来说还是很简陋