大二下小学期《“python从入门到实践”》,看到外星人入侵小项目那部分兴致大增,遂决定自己也来写一个。
python外星人入侵(游戏开发)

外星人游戏添加飞船上下移动功能:



功能源代码:





以上代码是在game_functions.py里监听键盘的点击事件,并且通过check_events响应按键和鼠标事件。

在ship.py中编写飞船初始位置以及移动标志调整飞船的位置核心函数:



然后在主文件alien_invation.py的游戏主循环中调用:



1.2

为游戏添加背景音效、爆炸音效和射击音效:

新建一个文件夹,再在主文件alien_invation.py的run_game()中调用。











 

1.3

在玩家得分、最高得分、玩家等级前添加"Score"、"High Score"、"Level"三个标签:(通过数字向字符串类型的转化,显示在图形化界面上)



功能源代码:

将得分转换为一幅渲染的图像,将得分放在屏幕右上角;



字符串定位到:中:中添加high_score,score,level的实际值,



将等级放在得分下方:



1.4

添加游戏暂停功能,如按某个按键,实现游戏暂停:



 

功能源代码:

在主文件alien_invasion.py中创建暂停按钮:

 

初始化pause按钮,







通过对鼠标移动坐标(x,y)点击事件的监听实现游戏的暂停。

1.5

最高得分永久性存储,再打开游戏时,仍然可以正常读取和显示;

功能源代码:

创建一个high.json文件,在 game_stats.py中使用json实现最高得分的保存显示。





 

1.6

仅当游戏结束时,才进行游戏最高得分的比较和更新;





1.7

添加了一个用于开始游戏的play按钮,在玩家三次未击中目标时结束游戏并重新显示Play按钮,让玩家能够通过单击该按钮重新开始游戏;

 

功能源代码:

主文件alien_invasion.py中创建play按钮,在button类中初始化







check_play_button监听play按钮是否被点击事件,从而重新开始游戏



1.8

在外星人队列中固定关卡插入高级外星人(图像与普通外星人不同,但points更高,速度更快),并且boos显示血条。

 



功能源代码:

                         

同时模仿bullet类编写BossBullet类:



在game_functions文件中写关卡boos对象流事件

项目资源下载地址:https://download.csdn.net/download/h471507602/11228787
<https://download.csdn.net/download/h471507602/11228787>

作者邮箱:[email protected]

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:[email protected]
QQ群:637538335
关注微信