实习项目:雷霆战机
1、项目需求分析:
游戏状态state:
start准备状态
running运行状态
pause暂停状态
gameover游戏结束状态
英雄机:一个,走步行为(即两张图片的切换)
与鼠标一起移动的行为,鼠标位于英雄机的中心位置。
射击行为:子弹为单倍火力或双倍火力
碰撞行为:与敌机碰撞
减命行为:每次碰撞,生命值+1
敌机: 随时间产生很多架敌机。
走步行为:(向下移动)
碰撞行为:与子弹碰撞,敌机消失
小蜜蜂:随时间产生很多个
走步行为:(斜着向下移动)
是一种奖励:可能是+命奖励,+双倍火力奖励
子弹:随时间而数量在变化
走步行为:向上移动
需要注意的:
敌机越界,子弹越界的处理逻辑
2、类型设计
通过需求分析后,可以设计类型:
FlyingObject:飞行物---abstract
属性:
image;
x;开始绘制的横坐标
y; 开始绘制的纵坐标
width;//图片的宽度
height;//图片的高度
step();//走步行为
outOfBounds();越界行为
接口两个
Award:奖励接口
常量来模拟不同奖励
int DOUBLE_FIRE = 0 //默认为单倍火力
int LIFE = 1;// //默认奖励为一条命
int getType();//获取奖励的类型
Enemy:敌人接口
int getScore