pythonrpg小游戏
Tkinter: Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口 ,可良好地运行在绝大多数平台中。Tkinter 是内置到 python 的安装包中,只要安装好 Python 之后就能 import Tkinter 库,而且 IDLE 也是用 Tkinter 编写而成,对于简单的图形界面 Tkinter 还是能应付自如。
wxPython:wxPython 是一款开源软件,是 Python 语言的一套优秀的 GUI 图形库,允许 Python 程序员很方便的创建完整的、功能健全的 GUI 用户界面。
Jython:Jython 程序可以和 Java 无缝集成。除了一些标准模块,Jython 使用 Java 的模块。Jython 几乎拥有标准的Python 中不依赖于 C 语言的全部模块。比如,Jython 的用户界面将使用 Swing,AWT或者 SWT。Jython 可以被动态或静态地编译成 Java 字节码。
# -*- coding: utf-8 -* import tkinter as tk import tkinter.messagebox import random import re from PIL import ImageTk, Image **#1、导入需要用到的模块** game = tk.Tk() **#2、生成主窗口** game.geometry('400x200') # 设定主窗口大小 game.title('欢迎来到猜数字小游戏') #设定主窗口的标题 answer = random.randint(1, 20) #随机产生正确答案,该答案在猜测数字过程中不能改变,因此必须设置为全局变量 label1 = tk.Label(game, fg ='RoyalBlue',text="游戏规则:系统随机生成1到20之间的一个数,请你猜这个数。" "如果猜中系统将会提示你猜测成功,不幸如果猜错," "系统将会提示你猜大或者猜小,至你猜出正确答案为止,祝你玩得开心!", wraplength=250,justify='center',font = ('微软雅黑',10)) **#3、组件建立。建立第一个标签,说明游戏规则** # bg:标签中文本的颜色 # fg:标签中文本的背景色 # text:标签中文本内容 # wraplength:指定多少单位后开始换行(经测试默认字体情况下,一个汉字或中文标点的长度大约wraplength=12单位, # 一个英文字符(字母,标点等)占6~9个单位,)根据文本中的字符占位,设置wraplength个单位后,字符换行 # justify:指定多行的对齐方式,必须是 left, right, or center #font:文本字体设置 label1.grid(row=0,columnspan=2,rowspan=2,padx=20, pady=8) **#使用grid函数对组件进行布局** #Grid(网格)布局管理器会将控件放置到一个二维的表格里,主控件被分割为一系列的行和列 #row:指定组件所在行数,从0开始,0代表第一列 #column:没有写,默认为0 #columnspan:表示这个组件占据的列数,columnspan=2表示占据两列 #rowspan:同理 #padx:设置控件周围水平方向空白区域保留大小 #pady:同理 label2 = tk.Label(game, text='请输入你猜测的数字:',bg='LightSeaGreen',font = ('微软雅黑',10)) **#建立第二个标签,提示输入** label2.grid(row=2,column=0,sticky='w',padx=5) #sticky:默认的控件在窗口中的对齐方式是居中。使用sticky选项指定对齐方式,可以选择的值有:N/S/E/W,分别代表上对齐/下对齐/左对齐/右对齐,可以单独使用N/S/E/W,也可以上下和左右组合使用,达到不同的对齐效果。 text = tk.Entry(game, width=20) **#建立一个Entry文本框** # Entry和Text文本部件的区别: # Entry:用于接受用户Entry小窗口部件单行文本字符串 # Text:文本小部件提供先进的功能,可以编辑多行文本格式,如改变颜色和字体样式 text.grid(row=2,column=1,sticky='w') pilImage = Image.open("pig.jpg") tkImage = ImageTk.PhotoImage(image=pilImage) #ImageTk.PhotoImage:创建一个Tkinter兼容的照片图像(photo image) label3 = tk.Label(image=tkImage) **#建立一个标签,用于放图片** label3.grid(row=0,rowspan=2,column=2, pady=10) def hit(): **#定义一个函数,在鼠标触发确定按钮时实现该函数** guess_number = text.get() #使用get函数获取文本框中的内容 if guess_number =='' : tk.messagebox.showerror("警告", "Oh!输入不能为空") if not re.findall('[0-9]+',str(guess_number)): #使用正则表达式判断输入是否为数字 tk.messagebox.showerror("警告", "Oh!只能输入一个数字")else: guess_number = int(float(guess_number)) if guess_number > answer: tkinter.messagebox.showinfo("错误", "Oh~你猜的数字太大啦") if guess_number < answer: tkinter.messagebox.showinfo("错误", "Oh~你猜的数字太小啦") if guess_number == answer: tkinter.messagebox.showinfo("正确", "Oh~恭喜你,猜对啦!") **# 建立一个按钮** button2 = tkinter.Button(game, text='确定', command=hit,width=10,bg='RoyalBlue',font = ('微软雅黑',10)) #command:通过按钮触发hit函数 button2.grid(row=2,column=2,sticky='s',padx=8, pady=8) # 使用mainloop进入事件(消息)循环。 game.mainloop() 3、 纯净可运行版代码和程序实现界面 # -*- coding: utf-8 -* import tkinter as tk import tkinter.messagebox import random import re from PIL import ImageTk, Image #导入需要用到的模块 game = tk.Tk() # 生成主窗口 game.geometry('400x200') game.title('欢迎来到猜数字小游戏') answer = random.randint(1, 20) label1 = tk.Label(game, fg ='Teal',text="游戏规则:系统随机生成1到20之间的一个数,请你猜这个数。" "如果猜中系统将会提示你猜测成功,不幸如果猜错," "系统将会提示你猜大或者猜小,至你猜出正确答案为止,祝你玩得开心!", wraplength=250,justify='center',font = ('微软雅黑',10)) label1.grid(row=0,padx=20, pady=8,columnspan=2,rowspan=2) label2 = tk.Label(game, text='请输入你猜测的数字:',bg='LightSeaGreen',font = ('微软雅黑',10)) label2.grid(row=2,column=0,sticky='w',padx=5) text = tk.Entry(game, width=20) text.grid(row=2,column=1,sticky='w') pilImage = Image.open("pig.jpg") tkImage = ImageTk.PhotoImage(image=pilImage) label3 = tk.Label(image=tkImage) label3.grid(row=0,rowspan=2,column=2, pady=10) def hit(): #定义一个函数,在鼠标触发确定按钮时实现该函数 guess_number = text.get() #通过get函数获取文本框中的内容 if guess_number =='' : tk.messagebox.showerror("警告", "Oh!输入不能为空") else: if not re.findall('[0-9]+',str(guess_number)): tk.messagebox.showerror("警告", "Oh!只能输入数字") else: guess_number = int(float(guess_number)) if guess_number > answer: tkinter.messagebox.showinfo("错误", "Oh~你猜的数字太大啦") if guess_number < answer: tkinter.messagebox.showinfo("错误", "Oh~你猜的数字太小啦") if guess_number == answer: tkinter.messagebox.showinfo("正确", "Oh~恭喜你,猜对啦!") button2 = tkinter.Button(game, text='确定', command=hit,width=10,bg='RoyalBlue',font = ('微软雅黑',10)) button2.grid(row=2,column=2,sticky='s',padx=8, pady=8) game.mainloop()1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.46.47.48.49.50.51.52.53.54.55.56.57.58.59.60.61.62.63.64.65.66.67.68.69.70.71.72.73.74.75.76.77.78.79.80.81.82.83.84.85.86.87.88.89.90.91.92.93.94.95.96.97.98.99.100.101.102.103.104.
相关知识
pythonrpg小游戏
7k7k环保小游戏小游戏
小游戏免费的小游戏有哪些 2024流行的小游戏大全
【手机小游戏大全】手机小游戏全集
【单机版小游戏大全】单机版小游戏全集
【单机小游戏大全】单机小游戏全集
【单人小游戏大全】单人小游戏全集
【无人小游戏大全】无人小游戏全集
【移动小游戏大全】移动小游戏全集
【破解小游戏大全】破解小游戏全集
推荐资讯
- 1老六爱找茬美女的烦恼怎么过- 4999
- 2博德之门3黄金雏龙法杖怎么得 4869
- 3《大侠立志传》剿灭摸金门任务 4312
- 4代号破晓官方正版角色介绍 4023
- 5赛马娘锻炼到底的伙伴支援卡事 3803
- 6闪烁之光11月兑换码大全20 3776
- 7原神原海异种刷怪路线-原神原 3547
- 8爆梗找茬王厕所特工怎么通关- 3544
- 9《我的世界》领地删除指令是什 3440
- 10原神开局星落湖怎么出去 原神 3426