往
期
回
顾
python制作小游戏(七)
python制作小游戏(八)
python制作小游戏(九)
python制作小游戏(十)
python制作小游戏(十一)
python制作小游戏(十二)
导语
写了个低配版的外星人入侵小游戏来作为19年的第一更吧~让我们愉快地开始吧~
相关文件
关注微信公众号“Charles的皮卡丘”,公众号内回复‘game13’获取。
音频素材源于网络,侵歉删。
开发工具
Python版本:3.6.4
相关模块:
pygame模块;
以及一些Python自带的模块。
环境搭建
安装Python并添加到环境变量,pip安装需要的相关模块即可。
先睹为快
在cmd窗口运行"Game13.py"文件即可。
效果如下:
原
理
介
绍
游戏简介:
玩家通过鼠标控制飞船行动和射击,若能在敌人到达游戏界面底端之前消灭所有敌人,则游戏胜利,否则游戏失败。
逐步实现:
Step1:定义游戏精灵类
首先,我们来明确一下游戏需要哪些角色。
① 我方飞船
我方飞船通过鼠标控制,其需要具备射击、移动和被敌人击中后爆炸等能力。
因此,该游戏精灵类的代码实现如下:
② 敌人
敌人由电脑自动控制,其需要具备射击、移动和被我方击中后爆炸等能力。
因此,该游戏精灵类的代码实现如下:
③ UFO
UFO由电脑控制,可以看作是彩蛋,击中这个彩蛋,你将获得大量的奖励分数,当奖励分数累积到一定量时,你将获得额外的生命值奖励。
UFO类只需要具备移动和被我方击中后爆炸的能力即可。
因此,该游戏精灵类的代码实现如下:
④ 子弹类
我方飞船和敌人射击时都需要用到子弹,其应当具备不断向前移动的能力。
我方子弹类的代码实现如下:
敌方子弹类的代码实现如下:
Step2:实现游戏主循环
先初始化,包括加载必要的游戏素材和实例化之前定义的游戏精灵类等等:
然后就可以进入游戏主循环啦~
首先是按键检测,来实现用户与游戏的交互:
接下来就是根据用户操作的结果以及电脑自动进行的操作获得的结果来实现游戏画面更新。当然,更新之前需要根据游戏规则对一些游戏精灵进行碰撞检测,包括:敌方子弹和我方飞船以及我方子弹和敌方等。
具体的代码实现如下:
最后就是把一些游戏相关的数据实时显示在游戏界面上以供玩家参考:
Step3:定义游戏结束界面
我们只需要根据玩家是否取得了游戏胜利来展示游戏结束界面即可:
All Done!完整源代码详见相关文件。
更多
代码截止2019-01-07测试无误。
本系列文章相关文件中均提供了打包好的版本,无需环境搭建即可运行玩耍~
关于本公众号文章转载说明:
转载请注明原作者、出处(即本公众号),若原文有参考文献,请保留。需要设白的请在原文下方留言,(sry),本人谢绝设置长期可转载账号。
○
○
Charles的皮卡丘
Pikachu~