Python 制作小游戏(四)
导语
本期我们将制作一个简单的滑雪游戏。
废话不多说,让我们愉快地开始吧~
开发工具
Python 版本: 3.6.4
相关模块:
pygame 模块;
以及一些 Python 自带的模块。
环境搭建
安装 Python 并添加到环境变量,pip 安装需要的相关模块即可。
先睹为快
原理介绍
游戏规则:
玩家通过“AD”键或者“←→”操控前进中的滑雪者,努力避开路上的树,尽量捡到路上的小旗。
如果碰到树,则得分减 50,如果捡到小旗子,则得分加 10。
逐步实现:
Step1:定义精灵类
由于游戏涉及到碰撞检测(滑雪者与树和小旗之间的碰撞),因此我们定义两个精灵类,分别用于代表滑雪者和障碍物(即树和小旗):
其中,滑雪者在前进过程中应当拥有向左,向右偏移的能力,并且在偏移时滑雪者向前的速度应当减慢才更加合乎常理,这样才能供玩家操作。同时,滑雪者应当拥有不同的姿态来表现自己滑行时的状态:
直线:
左偏一点:
左偏很多:
右偏一点:
右偏很多:
另外,尽管滑雪者的左右移动通过移动滑雪者本身实现,但是滑雪者的向前移动是通过移动障碍物实现的。
Step2:随机创建障碍物
现在我们需要定义一个随机创建障碍物的函数,以便在游戏主循环中调用:
Step3:游戏主循环
首先我们初始化一些参数:
其中障碍物创建两次的目的是便于画面衔接。
然后我们就可以定义主循环了:
主循环的内容包括:
事件监听、障碍物的更新、碰撞检测以及分数的展示等内容,总之还是很容易实现的。
Step4:其他
开始、结束界面这些,就靠大家自己发挥了,我就写了一个简单的开始界面:
效果:
All Done!
代码截止 2018-07-12 测试无误。
参考文献
- 基于SSH架构的个人空间交友网站的设计与实现(北京邮电大学·隋昕航)
- 酒店管理系统的设计与实现(电子科技大学·何少波)
- 基于Virtools的四则运算三维教育游戏的设计与开发(四川师范大学·马泽)
- 基于web的旅游服务平台的设计与实现(内蒙古大学·张凡)
- 山区公路冰雪灾害预警与路网调度系统设计与开发(重庆交通大学·刘明明)
- 基于深度学习的滑雪动作相似度计算研究与应用(南昌大学·熊文彬)
- 基于web的旅游服务平台的设计与实现(内蒙古大学·张凡)
- 小学数学“加减法运算”游戏型学习软件的设计与开发(内蒙古师范大学·颜红限)
- 基于J2EE平台的工作流管理系统的运行引擎和客户端及管理工具的设计与实现(西北大学·门浩)
- 股票交易系统的设计与实现(吉林大学·王文卓)
- 基于J2EE架构的汉语学习游戏系统的设计与实现(电子科技大学·张银满)
- 基于J2EE平台的工作流管理系统的运行引擎和客户端及管理工具的设计与实现(西北大学·门浩)
- 基于虚拟现实技术滑雪场景的搭建及人机交互设计(燕山大学·苑晓森)
- 基于SSH架构的个人空间交友网站的设计与实现(北京邮电大学·隋昕航)
- 酒店管理系统的设计与实现(电子科技大学·何少波)
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:源码码头网 ,原文地址:https://m.bishedaima.com/yuanma/36044.html