python实现简单⼩游戏_⽤python开发⼀个有趣的猜数字⼩游
戏(实现简单的GUI界⾯。。。
⽂章⽬录
⽤python开发⼀个有趣的猜数字⼩游戏
⽤于字符串的格式化,通过 {} 和 : 来代替以前的 %
1、 python的GUI编程
1.1 pythonGUI常⽤库对⽐
Python 提供了多个(GUI)图形开发界⾯的库,⼏个常⽤ Python GUI 库如下:
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 字节码。
1.2 tkinter组件
1.2.1 tkinter组件列表
1.2.1 tkinter组件共同标准属性
1.2.1 tkinter组件位置管理⽅法
2、 游戏代码详细解释
# -*- coding: utf-8 -*
import tkinter as tk
ssagebox
import random
import re
from PIL import ImageTk, Image **#1、导⼊需要⽤到的模块**
game = tk.Tk() **#2、⽣成主窗⼝**
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:⽂本字体设置
#Grid(⽹格)布局管理器会将控件放置到⼀个⼆维的表格⾥,主控件被分割为⼀系列的⾏和列
#row:指定组件所在⾏数,从0开始,0代表第⼀列
#column:没有写,默认为0
#columnspan:表⽰这个组件占据的列数,columnspan=2表⽰占据两列
#rowspan:同理
#padx:设置控件周围⽔平⽅向空⽩区域保留⼤⼩
#pady:同理
label2 = tk.Label(game, text='请输⼊你猜测的数字:',bg='LightSeaGreen',font = ('微软雅⿊',10)) **#建⽴第⼆个标签,提⽰输⼊**
#sticky:默认的控件在窗⼝中的对齐⽅式是居中。使⽤sticky选项指定对齐⽅式,可以选择的值有:N/S/E/W,分别代表上对齐/下对齐/左对齐/右对齐,可以单独使⽤N/S/E/W,也可以上下和左右组合使⽤,达到不同的对齐效果。
text = tk.Entry(game, width=20) **#建⽴⼀个Entry⽂本框**
# Entry和Text⽂本部件的区别:
# Entry:⽤于接受⽤户Entry⼩窗⼝部件单⾏⽂本字符串
# Text:⽂本⼩部件提供先进的功能,可以编辑多⾏⽂本格式,如改变颜⾊和字体样式
pilImage = Image.open("pig.jpg")
tkImage = ImageTk.PhotoImage(image=pilImage)
#ImageTk.PhotoImage:创建⼀个Tkinter兼容的照⽚图像(photo image)
label3 = tk.Label(image=tkImage) **#建⽴⼀个标签,⽤于放图⽚**
def hit(): **#定义⼀个函数,在⿏标触发确定按钮时实现该函数**
guess_number = () #使⽤get函数获取⽂本框中的内容
if guess_number =='' :
if not re.findall('[0-9]+',str(guess_number)): #使⽤正则表达式判断输⼊是否为数字
guess_number = int(float(guess_number))
if guess_number > answer:
if guess_number < answer:
if guess_number == answer:
**# 建⽴⼀个按钮**
button2 = tkinter.Button(game, text='确定', command=hit,width=10,bg='RoyalBlue',font = ('微软雅⿊',10)) #command:通过按钮触发hit函数
# 使⽤mainloop进⼊事件(消息)循环。
game.mainloop()
3、 纯净可运⾏版代码和程序实现界⾯
# -*- coding: utf-8 -*
import tkinter as tk
ssagebox
import random
import re
from PIL import ImageTk, Image #导⼊需要⽤到的模块
game = tk.Tk() # ⽣成主窗⼝
game.title('欢迎来到猜数字⼩游戏')
answer = random.randint(1, 20)
label1 = tk.Label(game, fg ='Teal',text="游戏规则:系统随机⽣成1到20之间的⼀个数,请你猜这个数。"
"如果猜中系统将会提⽰你猜测成功,不幸如果猜错,"
"系统将会提⽰你猜⼤或者猜⼩,⾄你猜出正确答案为⽌,祝你玩得开⼼!",
wraplength=250,justify='center',font = ('微软雅⿊',10))
label2 = tk.Label(game, text='请输⼊你猜测的数字:',bg='LightSeaGreen',font = ('微软雅⿊',10))
text = tk.Entry(game, width=20)
pilImage = Image.open("pig.jpg")
tkImage = ImageTk.PhotoImage(image=pilImage)
label3 = tk.Label(image=tkImage)
def hit(): #定义⼀个函数,在⿏标触发确定按钮时实现该函数
guess_number = () #通过get函数获取⽂本框中的内容
if guess_number =='' :
else:
if not re.findall('[0-9]+',str(guess_number)):
else:
guess_number = int(float(guess_number))
if guess_number > answer:
if guess_number < answer:
if guess_number == answer:c语言编程小游戏
button2 = tkinter.Button(game, text='确定', command=hit,width=10,bg='RoyalBlue',font = ('微软雅⿊',10))

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。