python外星人入侵(游戏开发)

大二下小学期《“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

作者邮箱:471507602@qq.com