# Python 制作小游戏(四)
## **导语**
本期我们将制作一个简单的滑雪游戏。
废话不多说,让我们愉快地开始吧~
## **开发工具**
**Python 版本:**3.6.4
**相关模块:**
pygame 模块;
以及一些 Python 自带的模块。
**环境搭建**
安装 Python 并添加到环境变量,pip 安装需要的相关模块即可。
**先睹为快**
![](https://www.writebug.com/myres/static/uploads/2022/5/16/684b83bff5c08716d2bf08d791f8de1f.writebug)
**原理介绍**
**游戏规则:**
玩家通过“AD”键或者“←→”操控前进中的滑雪者,努力避开路上的树,尽量捡到路上的小旗。
如果碰到树,则得分减 50,如果捡到小旗子,则得分加 10。
**逐步实现:**
**Step1:定义精灵类**
由于游戏涉及到碰撞检测(滑雪者与树和小旗之间的碰撞),因此我们定义两个精灵类,分别用于代表滑雪者和障碍物(即树和小旗):
![](https://www.writebug.com/myres/static/uploads/2022/5/16/9416ba2eaadf53d3a240f41fefe82c16.writebug)
其中,滑雪者在前进过程中应当拥有向左,向右偏移的能力,并且在偏移时滑雪者向前的速度应当减慢才更加合乎常理,这样才能供玩家操作。同时,滑雪者应当拥有不同的姿态来表现自己滑行时的状态:
**直线:**
![](https://www.writebug.com/myres/static/uploads/2022/5/16/1414446ca43531eb0afe739a18376361.writebug)
**左偏一点:**
![](https://www.writebug.com/myres/static/uploads/2022/5/16/b424b3ede939dacd8a37f6dffb59be4a.writebug)
**左偏很多:**
![](https://www.writebug.com/myres/static/uploads/2022/5/16/519849591a2118553b954807ee82c309.writebug)
**右偏一点:**
![](https://www.writebug.com/myres/static/uploads/2022/5/16/70590496396e0468f022f36948e517af.writebug)
**右偏很多:**
![](https://www.writebug.com/myres/static/uploads/2022/5/16/9543ee51e0598a6e3c8c369a28aebe43.writebug)
另外,尽管滑雪者的左右移动通过移动滑雪者本身实现,但是滑雪者的向前移动是通过移动障碍物实现的。
**Step2:随机创建障碍物**
现在我们需要定义一个随机创建障碍物的函数,以便在游戏主循环中调用:
![](https://www.writebug.com/myres/static/uploads/2022/5/16/ebab9cb3421fe82eebe1f2451a064119.writebug)
**Step3:游戏主循环**
首先我们初始化一些参数:
![](https://www.writebug.com/myres/static/uploads/2022/5/16/c3ea54b77ed49f1b4f6e9d4be95f0530.writebug)
其中障碍物创建两次的目的是便于画面衔接。
然后我们就可以定义主循环了:
![](https://www.writebug.com/myres/static/uploads/2022/5/16/1b6c419510013a8d1259609b3ea9f81f.writebug)
主循环的内容包括:
事件监听、障碍物的更新、碰撞检测以及分数的展示等内容,总之还是很容易实现的。
**Step4:其他**
开始、结束界面这些,就靠大家自己发挥了,我就写了一个简单的开始界面:
![](https://www.writebug.com/myres/static/uploads/2022/5/16/cfd4046103686cc4d9f1c31eacc4329b.writebug)
效果:
![](https://www.writebug.com/myres/static/uploads/2022/5/16/bbc625ee0d0e76aae8332c75adf7b7a6.writebug)
**All Done!**
代码截止 **2018-07-12** 测试无误。
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
100011852-基于Python制作一个简单的滑雪游戏.zip (13个子文件)
cpgames
__init__.py 41B
resources
audios
bgm.mp3 4.85MB
images
flag.png 257B
tree.png 847B
skier_right1.png 983B
skier_fall.png 1010B
skier_left2.png 1002B
skier_forward.png 768B
skier_right2.png 1KB
skier_left1.png 972B
LICENSE 1KB
ski.py 9KB
README.md 3KB
共 13 条
- 1
资源评论
神仙别闹
- 粉丝: 2712
- 资源: 7668
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Java项目-电影院售票管理系统(java+Servlet+JSP+JDBC+Mysql)
- SSM整合开发-图书管理系统
- 计二202301020210蒋怡.zip
- 基于74LS160的70进制计数器仿真节线图
- 基于74LS160的30进制与70进制转化仿真节线图
- 【用360解压工具解压】springboot+vue实验室(预约)管理系统【www.java1234.com】.zip
- commodity.cpp
- WordPress主题JustNews v6.01自适应自媒体博客主题免授权
- C语言开发小游戏案例 - 弹跳球
- Delphi 12 控件之TMS VCL UI Pack v13.1.3.2.7z
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功