版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、天天酷跑小游戏制作天天酷跑小游戏首先安装PYcharm软件,python3.7解释器先展示效果图如下四、分享代码:#库定义:importpygame,sysimportrandom#游戏配置width=1200#窗口宽度height=508#窗口高度size=width,heightscore=None#分数myFont=myFont1=None#字体surObject=None#障碍物图片surGameOver=None#游戏结束图片bg=None#背景对象role=None#人物对象object=None#障碍物对象objectList=#障碍物对象数组clock=None#时钟gameS
2、tate=None#游戏状态(0,1)表示(游戏中,游戏结束)#写人物classRole:#人物def_init_(self,surface=None,y=None):self.surface=surfaceself.y=yself.w=(surface.get_width()/12self.h=surface.get_height()/2self.currentFrame=-1self.state=0#0代表跑步状态,1代表跳跃状态,2代表连续跳跃self.g=1#重力加速度self.vy=0#y轴速度self.vy_start=-20#起跳开始速度defgetRect(self):retu
3、rn(0,self.y+12,self.w,self.h)#写障碍物classObject:#障碍物def_init_(self,surface,x=0,y=0):self.surface=surfaceself.x=xself.y=yself.w=surface.get_width()self.h=surface.get_height()self.currentFrame=random.randint(0,6)self.w=100self.h=100defgetRect(self):return(self.x,self.y,self.w,self.h)defcollision(self,re
4、ct1,rect2):#碰撞检测if(rect20=rect12-20)or(rect10+40=rect22)or(rect11+rect13rect21+20)or(rect21+rect23rect11+20):returnFalsereturnTrue#写背景classBg:#背景def_init_(self,surface):self.surface=surfaceself.dx=-10self.w=surface.get_width()self.rect=surface.get_rect()definitGame():globalbg,role,clock,gameState,su
5、rObject,surGameOver,score,myFont,myFont1,objectList#分数初始化score=0#初始化objectList=#加载字体myFont=pygame.font.Font(./freesansbold.ttf,32)myFont1=pygame.font.Font(./freesansbold.ttf,64)#创建时钟对象(可以控制游戏循环频率)clock=pygame.time.Clock()#初始化游戏状态gameState=0#游戏背景surBg=pygame.image.load(image/bg.bmp).convert_alpha()bg
6、=Bg(surBg)#结束画面surGameOver=pygame.image.load(image/gameover.bmp).convert_alpha()#人物图片surRole=pygame.image.load(image/role.png).convert_alpha()role=Role(surRole,508-85)#障碍物图片surObject=pygame.image.load(image/object.png).convert_alpha()defaddObject():globalsurObject,object,objectList,objectrate=4#是否生成障碍物ifnotrandom.randint(0,300)=508-85:role.y=508-85role.state=0#障碍物的移动addObject()forobjectinobjectList:object.x-=10#障碍物移动#障碍物超出屏幕,移除障碍物ifobject.x+object.w=0:objectList.remove(object)score+=10#避开障碍物,加10分print(移除了一个目标)#碰撞检测ifobject.collision(role.getRect(),object.getRect():if(object.currentFr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二年级英语老师复习计划
- 公司建设方案征集文案
- 信息归集工作方案
- 猎捕实施方案
- 老人关爱平台建设方案
- 矿区教学团队建设方案
- 语文对话式教学实施方案
- 东莞市档案工作方案
- 仔猪养殖场建设方案
- 2025年智慧家居产业链协同服务可行性研究报告
- 2026四川成都成华区白莲池街道招聘四级社区工作者5人备考题库附答案详解(b卷)
- 2026年广东佛山市高三二模语文试卷试题(精校打印)
- GB 47372-2026移动电源安全技术规范
- 下肢动脉球囊扩张成形术后护理查房
- 2026年上半年成都市教育事业单位公开考试招聘中小学教师(1197人)考试参考试题及答案解析
- 仲利国际租赁在线测试答案
- 2026年公选乡镇领导班子成员(副科)试题及答案
- 2025年河南建筑职业技术学院单招职业技能考试题库附答案解析
- 2025年江苏省苏州市中考一模数学试题(原卷版+解析版)
- 近代物理实验指导书
- 人文地理学课件
评论
0/150
提交评论