Pygame:飞机大战5 – 零基础入门学习Python094

Pygame:飞机大战5

 

让编程改变世界

Change the world by program


 

绘制得分

 

游戏界面的左上角应该显示玩家的得分并实时更新,击中小、中、大型敌机分别可以获得 1000 分、6000 分和 10000 分。有些鱼油可能会觉得 1000 分作为基本单位显得有点浮夸,不过这完全是游戏开发的业界习惯。目的当然只为了一个字:爽!你看,一百多万分和一百多分完全是不同逼格的嘛。当然,业界也有一部分比较特殊的例子,像 Flappy bird 这种另类游戏玩到手残得 2 分 一看好友排名第一才 3 分 果断卸载加摔手机!

 

…… 此处省略N多内容,具体请看视频讲解 ……

 

暂停游戏

 

右上角我们可以添加一个暂停按钮,让玩家随时可以把游戏暂停下来。暂停按钮总共有四种样式:

BaiduShurufa_2015-8-3_2-49-54

 

分别继续游戏和暂停游戏的命令,其中深色的图标表示鼠标停留在按钮上方时显示的样式。通过响应 MOUSEBUTTONDOWN 事件并判断鼠标的位置可以得知玩家是否按下了暂停按钮,通过响应 MOUSEMOTION 事件修改暂停按钮的样式。

 

…… 此处省略N多内容,具体请看视频讲解 ……

 

接着我们让游戏的主流程只有在 paused 为 False 的时候才得以执行,另外我们还需要将 screen.blit(background, (0, 0)) 提取出来,这样玩家就没办法通过不断地暂停、继续游戏来实现“作弊”的行为。

 

控制难度

 

敌人一成不变的慢悠悠出现对于玩家来说是无法接受的,玩家希望得到的游戏体验是刺激,是心跳!所以,我们要让游戏的难度随着得分的增加而增加。这里我们将游戏划分为5个级别,每提升一个级别,就增加一些敌机,或提高敌机的移动速度。
…… 此处省略N多内容,具体请看视频讲解 ……

 

全屏炸弹

 

其实只要到了 level5 的时候,就会下飞机雨,这时我们就很容易陷入不利的局面。因此,我们提供了全屏炸弹这一超级杀招。此招一出,界面上所有的敌机将会在一瞬间灰飞烟灭,而你则可以谈笑于千里之外。

 

通过空格键可以触发全屏炸弹,初始情况下有三颗全屏炸弹,可以通过补给获得,但最多只能装载三颗。由于触发全屏炸弹是属于偶然的操作,因此我们通过响应 KEYDOWN 事件再检测用于 event.key 是否为 K_SPACE 即可。

 

…… 此处省略N多内容,具体请看视频讲解 ……

 


为您推荐

报歉!评论已关闭.