Plane::War 报告
一、背景
飞机类的游戏经常会遇到,从雷霆战机到 B 计划等等,飞机的形式多种多样,
其中的子弹,boss 等也各具特色。但是,在我们玩这些游戏背后,它有着怎样的
实现原理,通过怎样的手段来达到我们所看到的效果?因此,我希望通过编程实
现这类游戏的简单实现,来了解其背后的原理。
二、分析问题
在飞机类游戏中,主要的规则是,玩家通过控制飞机移动来躲避敌机和敌机
的子弹,同时玩家可以发射子弹来射击敌机。玩家可以通过吃到屏幕上随机出现
的 buff 来增强自己的飞机,比如可以发射两发子弹,可以为飞机添加护盾等,
当玩家到达一定阶段后会有最终 boss 出现,有更高的血量,更强的攻击力。
根据这些规则,选择实现其中的部分功能,采用面向对象的原则,抽象出要
实现这些功能所需要的类。Plane 类(封装飞机的相关属性),Bullets 类(用来
生成飞机类所产生的子弹对象),Enemy 类(敌机类,用来敌机的相关属性),
EnemyBullet 类(用来生成敌机类所生成的子弹对象),checkEvent 类(用来检
测各类事件),enhanceElement 类(增强道具类),gamePanel 类(游戏面板类,
用于在上面添加游戏元素),gameFrame 类(游戏框架类,添加菜单和游戏面板),
GamePlay 类(游戏主循环)。
三、解决问题
要实现相关的功能,需要先找到飞机的素材,适合的背景音乐。依据分析问
题阶段所抽象出来的游戏所需要的类,构建出每个类之间的关系,考虑到每个类
中的许多属性在其他类中都需要调用,将相关属性设置为 public,以方便调用,
(有些属性在最初实现时采用了 private)用 xmind 画出思维导图如下。
评论0