飞机大战 / Space Shooter in Java
#
操作- 左右上下来控制飞船
- 空格 – 大招
#
功能集锦- 吃弹药箱可以增加每次发子弹的个数
- 吃“改变子弹”可以改变所发射子弹的种类
- 吃医疗包可以增加血量
- 对上下移动的速度做了特殊处理,更贴合实际,有加速的感觉
- 背景是动态背景,而且随着游戏进行,背景会进行更换
- 敌方有不同的种类,而且敌方存在大 boss
- 我方有大招,可以干掉屏幕内所有敌人以及子弹
#
设计思想- 通过 EventListener 来监听用户对键盘的操作,左右上下控制飞船
- 多线程 – 用来画,效果,更新飞船的位置,计算是否有碰撞,生成新敌人的飞船
- 为了防止 DeadLock 采用了锁机制
- 检查碰撞 – 认为每个飞船是一个长方形,检验是否有交叉
#
类的继承关系#
有三个类用来记录常量- enemyInfo.java – 记录关于敌人飞船的信息 如生命值
- bulletInfo.java – 记录关于各种子弹的信息 如伤害力
- constant.java – 关于游戏界面的信息 如屏幕大小
#
UI采用了 JFrame,JPanel,MenuBar,MenuItem
游戏的绘画都在 BattleField JPanel 上 (BattleField 在 gamePanel Jpanel 上)