50行的python游戏代码,python小游戏编程100例
遇见pygame:馅饼游戏
Pygame库提供了绘制图形、获取用户输入、播放动画等功能。
使用计时器使游戏以稳定的帧率运行。
使用pygame库;
用某种字体打印文本;
使用循环重复动作;
画一个圆,一个矩形,一条线和一个房子类型。
创建一个馅饼游戏;
哪里可以找到pygame图书馆:http://www.pygame.org/download.shtml
现在使用的Python2.7和pygame1.9
日本使用的环境是Python3.2和pygame1.9。
目前,如果pip工具没有安装在Python3环境中,环境将不会匹配。
Pygame库初始化:
导入页面
从pygame.locals导入*
pygame.init(
制作一个大小为600,500的屏幕
sreen=py game . display . set _ mode((600,500))
同时分配给表面的屏幕(600 x 500 x 32 SW)
因为这是一个有用的值,所以它与screen变量一起保存。
打印文本
1.创建字体对象
myfont=pygame.font.font(none,60)).
无:使用默认字体
60:字体大小
2,screen.blit))创建一个可以绘制的平面
text image=my font . render(" hello python ",True,(255,255,255))
Render需要三个参数,要显示的字符串、抗锯齿是否为真/假以及颜色。最后,如果你的时间不是太紧,想快速提升,最重要的是不要怕辛苦。推荐价格区间@762459510。那真的很好。很多人进步很快,所以不用怕辛苦。请大家一起来看看吧~
3.将文本图像传递给screen.blit()进行绘制。
Screen.blit(文本图像,(100,100))
Screen.blit())需要两个参数:要绘制的对象及其(左上角顶点)坐标。
背景填充
screen.fill ((0,0,0))
Screen.fill()必须提供背景色。
更新显示
screen.display .更新(
一般与while一起使用,以便重用。
空循环
While循环允许事件处理和连续屏幕更新。
虽然正确:
对于pygame.event.get()中的事件:
ifevent.typein(quit,KEYDOWN):
sys.exit())
screen.display .更新(
画一个圆
pygame.draw.circle(屏幕,颜色,位置,半径,宽度) )。
颜色(0,0,0)预定颜色
半径半径
给出圆心坐标位置(0 0,0)
线条宽度
画一个长方形
pygame.draw.rect(屏幕,颜色,位置,宽度) )。
Position(pos_x,pos_y,100,100))给出左上角的坐标、长度和宽度。
描绘
pygame.draw.line(屏幕,颜色,(0,0),(100,100),宽度) )。
(0,0)) 100,100)负责给定线段的两端
画一个弧线
sart_angle=math.radians(0))。
end_angle=math.radians(90))。
位置=x半径、y半径、半径2、半径2
#x,Y代表带圆弧的圆的圆心坐标,radius代表半径。
pygame.draw.arc(屏幕、颜色、位置、开始角度、结束角度、宽度) )
如果start_angle的起始角度指向右半径,开始逆时针旋转,则为0到360。
结束角度结束角度
两个值得学习的例子
1.画一个移动的矩形
#!/usr/hmdlm/python
进口系统
随机导入
从随机导入随机
导入页面
从页面导入*
pygame.init(
sreen=py game . display . set _ mode((600,500))
pygame.display.set _ caption("绘制矩形")
pos_x=300
pos_y=250
vel_x=2
vel_y=1
颜色=100,100,100
虽然正确:
用于pygame.event.g中的事件
et():
if event.type in(退出,按键):
sys.exit()
screen.fill((0,0,200))
pos_x=vel_x
位置y=级别y
如果pos_x500或pos_x0:
级别x=-级别x
rand1=randint(0,255)
rand2=randint(0,255)
rand3=randint(0,255)
color=随机1、随机2、随机3
如果位置y400或位置y0:
级别y=-级别y
rand1=randint(0,255)
rand2=randint(0,255)
rand3=randint(0,255)
color=随机1、随机2、随机3
宽度=0
位置=位置x,位置y,100,100
pygame.draw.rect(屏幕、颜色、位置、宽度)
pygame.display.update()
2.馅饼游戏
#!/usr/hmdlm/python
#初始化
导入系统
导入数学
导入pygame
从pygame.locals导入*
pygame.init()
screen=py game . display . set _ mode((600,500))
pygame.display.set_caption("馅饼游戏-按1,2,3,4 ")
myfont=pygame.font.Font(无,60)
颜色=200,80,60
宽度=4
x=300
y=250
半径=200
位置=x半径,y半径,半径2,半径2
piece1=假
第二件=假
第三件=假
第4部分=假
虽然正确:
对于pygame.event.get()中的事件:
if event.typeQUIT:
sys.exit()
elif event.typeKEYUP:
if event.keypygame.K_ESCAPE:
sys.exit()
elif event.keypygame.K_1:
第一件=真
elif event.keypygame.K_2:
第二件=真
elif event.keypygame.K_3:
第三件=真
elif event.key==pygame .k4:
第4部分=真
screen.fill((0,0,200))
#画出四个数字
textimage1=myfont.render("1 ",True,color)
screen.blit(textimage1,(x半径/2-20,y半径/2))
textimage2=myfont.render("2 ",True,color)
screen.blit(textimage2,(x-radius/2,y-radius/2))
textimage3=myfont.render("3 ",True,color)
screen.blit(textimage3,(x半径/2,y半径/2-20))
textimage4=myfont.render("4 ",True,color)
screen.blit(textimage4,(x半径/2-20,y半径/2-20))
#画弧线、直线
如果第一件:
start_angle=math.radians(0)
end_angle=math。弧度(90)
pygame.draw.arc(屏幕、颜色、位置、开始角度、结束角度、宽度)
pygame.draw.line(屏幕,颜色,(x,y),(x半径y),宽度)
pygame.draw.line(屏幕,颜色,(x,y),(x,y-半径),宽度)
如果零件2:
start_angle=math。弧度(90)
end_angle=math。弧度(180)
pygame.draw.arc(屏幕、颜色、位置、开始角度、结束角度、宽度)
pygame.draw.line(屏幕,颜色,(x,y),(x,y-半径),宽度)
pygame.draw.line(屏幕,颜色,(x,y),(x-半径y),宽度)
如果零件3:
start_angle=math。弧度(180)
end_angle=math。弧度(270)
pygame.draw.arc(屏幕、颜色、位置、开始角度、结束角度、宽度)
pygame.draw.line(屏幕,颜色,(x,y),(x-半径y),宽度)
pygame.draw.line(屏幕,颜色,(x,y),(x,y半径),宽度)
如果零件4:
start_angle=math。弧度(270)
结束角度=数学弧度(360度)
pygame.draw.arc(屏幕、颜色、位置、开始角度、结束角度、宽度)
pygame.draw.line(屏幕,颜色,(x,y),(x,y半径),宽度)
pygame.draw.line(屏幕,颜色,(x,y),(x半径y),宽度)
#如果成功,显示绿色
如果零件一和零件2以及零件3和零件4:
颜色=0,255,0
pygame.display.update()
挑战
1、绘制椭圆
#!/usr/hmdlm/python
导入系统
导入简介及安装
从pygame.locals导入*
pygame.init()
屏幕=py游戏。展示。set _ mode((600,500))
pygame.display.set_caption("绘制椭圆")
虽然正确:
对于pygame.event.get()中的事件:
if event.type in(退出,按键):
sys.exit()
screen.fill((0,255,0))
颜色=255,0,255
位置=100,100,400,300
宽度=8
pygame.draw.ellipse(屏幕、颜色、位置、宽度)
pygame.display.update()
这个题目就是让你认识一下pygame.draw.ellipse()函数的相关使用。
该函数和pygame.draw.rect()函数使用方式十分相似。
2、随机的绘制1000个线条
#!/usr/hmdlm/python
随机导入
从随机导入产生均匀分布的随机整数矩阵
导入系统
导入简介及安装
从简介及安装导入*
pygame.init()
屏幕=py游戏。展示。set _ mode((800,600))
pygame.display.set_caption("画线")
screen.fill((0,80,0))
颜色=100,255,200
宽度=2
对于在范围内的一(11001):
pygame.draw.line(屏幕,颜色、(randint(0,800)、randint(0,600))、(randint(0,800)、randint(0,600))、宽度)
虽然正确:
对于pygame.event.get()中的事件:
if event.type in(退出,按键):
sys.exit()
pygame.display.update()
通过这个题目理解了如果绘制图形和刷新显示都在循环中时,虽然是真的循环每次都会绘
制图形并刷新显示。如果大家对计算机编程语言感兴趣的话,可以加一下我们的学习交流抠抠维哦:762,459,510,免费领取一套学习资料和视频课程哟~
调用简介及安装模块中的randint()函数。
而在虽然是真的循环外绘制图形,则图形绘制完成之后保持不变。刷新显示的是一个已经绘制好
的图形。最后,如果你的时间不是很紧张,并且又想快速的提高,最重要的是不怕吃苦,建议你可以价位@762459510 ,那个真的很不错,很多人进步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~
3、修改矩形程序,使矩形碰到屏幕边界是,矩形会改变颜色
#!/usr/hmdlm/python
导入系统
随机导入
从随机导入产生均匀分布的随机整数矩阵
导入简介及安装
从简介及安装导入*
pygame.init()
屏幕=py游戏。展示。set _ mode((600,500))
pygame.display.set_caption("绘制矩形")
pos_x=300
pos_y=250
vel_x=2
vel_y=1
rand1=randint(0,255)
rand2=randint(0,255)
rand3=randint(0,255)
颜色=随机1、随机2、随机3
虽然正确:
对于pygame.event.get()中的事件:
if event.type in(退出,按键):
sys.exit()
screen.fill((0,0,200))
pos_x=vel_x
位置y=级别y
如果pos_x500或位置_x0:
级别x=-级别x
rand1=randint(0,255)
rand2=randint(0,255)
rand3=randint(0,255)
颜色=随机1、随机2、随机3
如果位置400日元或位置y0:
级别y=-级别y
rand1=randint(0,255)
rand2=randint(0,255)
rand3=randint(0,255)
颜色=随机1、随机2、随机3
宽度=0
位置=位置x,位置y,100,100
pygame.draw.rect(屏幕、颜色、位置、宽度)
pygame.display.update()
这里需要用到随意模块。在每次碰到屏幕边界时,不仅改变矩形的运动方向,而且使用随机数改变矩形的颜色。
也可以先将颜色设置为定值,可以少写三行代码。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。