python制作图形化小游戏_Python制作小游戏(十三)

本文介绍了一个使用Python的pygame模块制作的低配版外星人入侵小游戏的详细实现过程,包括游戏精灵类的定义、游戏主循环、碰撞检测以及游戏结束界面的设计。玩家通过鼠标控制飞船,消灭所有敌人则胜利,反之失败。
摘要由CSDN通过智能技术生成

python制作小游戏(七)

python制作小游戏(八)

python制作小游戏(九)

python制作小游戏(十)

python制作小游戏(十一)

python制作小游戏(十二)

导语

写了个低配版的外星人入侵小游戏来作为19年的第一更吧~让我们愉快地开始吧~

相关文件

关注微信公众号“Charles的皮卡丘”,公众号内回复‘game13’获取。

音频素材源于网络,侵歉删。

开发工具

Python版本:3.6.4

相关模块:

pygame模块;

以及一些Python自带的模块。

环境搭建

安装Python并添加到环境变量,pip安装需要的相关模块即可。

先睹为快

在cmd窗口运行"Game13.py"文件即可。

效果如下:

fceb4133f46930f05d46cc52ea59b22a.png

游戏简介:

玩家通过鼠标控制飞船行动和射击,若能在敌人到达游戏界面底端之前消灭所有敌人,则游戏胜利,否则游戏失败。

逐步实现:

Step1:定义游戏精灵类

首先,我们来明确一下游戏需要哪些角色。

① 我方飞船

我方飞船通过鼠标控制,其需要具备射击、移动和被敌人击中后爆炸等能力。

因此,该游戏精灵类的代码实现如下:

3ab4c83722e3143911127e315751d8d2.png

② 敌人

敌人由电脑自动控制,其需要具备射击、移动和被我方击中后爆炸等能力。

因此,该游戏精灵类的代码实现如下:

e73c9218bca33eadc95d813db1948b9c.png

③ UFO

UFO由电脑控制,可以看作是彩蛋,击中这个彩蛋,你将获得大量的奖励分数,当奖励分数累积到一定量时,你将获得额外的生命值奖励。

UFO类只需要具备移动和被我方击中后爆炸的能力即可。

因此,该游戏精灵类的代码实现如下:

91d0e6bf3f76441fc6bb98856cc5942e.png

④ 子弹类

我方飞船和敌人射击时都需要用到子弹,其应当具备不断向前移动的能力。

我方子弹类的代码实现如下:

5bd837fd6a0d1cb2d180b00ad3aa26d3.png

敌方子弹类的代码实现如下:

d04e8652ee7f59c9ce3fd85eb6c73b34.png

Step2:实现游戏主循环

先初始化,包括加载必要的游戏素材和实例化之前定义的游戏精灵类等等:

1bc739451d36890acf4e9b927d9f3ca5.png

然后就可以进入游戏主循环啦~

首先是按键检测,来实现用户与游戏的交互:

38a82c1e94b59ea1ea4455f353d786fd.png

接下来就是根据用户操作的结果以及电脑自动进行的操作获得的结果来实现游戏画面更新。当然,更新之前需要根据游戏规则对一些游戏精灵进行碰撞检测,包括:敌方子弹和我方飞船以及我方子弹和敌方等。

具体的代码实现如下:

3f4707a2c502750d7a5cc14537fac22d.png

最后就是把一些游戏相关的数据实时显示在游戏界面上以供玩家参考:

0955bf8fff20377e94bc4abbc66bfca7.png

Step3:定义游戏结束界面

我们只需要根据玩家是否取得了游戏胜利来展示游戏结束界面即可:

097c5362ec0ea0d8d091dafeb4befe6d.png

All Done!完整源代码详见相关文件。

更多

代码截止2019-01-07测试无误。

本系列文章相关文件中均提供了打包好的版本,无需环境搭建即可运行玩耍~

关于本公众号文章转载说明:

转载请注明原作者、出处(即本公众号),若原文有参考文献,请保留。需要设白的请在原文下方留言,(sry),本人谢绝设置长期可转载账号。

9e345d503e99ce27ea00a6185fe8fafe.png

Charles的皮卡丘

Pikachu~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值