Shoot射击游戏项目
1.需求分析
运行项目,看结果:
A: 小敌机 大敌机 蜜蜂--------敌人
英雄机发射子弹
B:
子弹击中小敌机--------玩家得分 1分
子弹击中大敌机--------玩家得分 5分
子弹击中小蜜蜂---------玩家得生命 1生命值或30火力值
C:单倍火力 双倍火力的变化
英雄机的火力值变为0的时候,就变成了单倍火力
火力值大于0的时候,变为双倍活力;依次减少2
D: 碰撞
敌人可以与英雄机发生碰撞,碰撞之后英雄级的生命值减少,变为0的时候游戏结束。
2.技术分析
设计类:
A: 找对象:6个对象
英雄机 小敌机 大敌机 小蜜蜂 子弹 天空
B: 抽类
Hero/Airplane/Bigairplane/Bee/Bullet/Sky
C: 设计成员变量和方法
D: 测试
Shoot设计项目二
1.需求分析
A: 设计一个父类,超类;并且让6个对象继承超类,测试
B:给超类添加构造方法;让6个对象分别调用超类
C: 设置对象数组,进行测试
D:在6个子类,派生类中重写
E:画窗体
2.技术分析
重写和重载:(面试笔试题)
重写:(override)
发生在父子类中,方法名相同,参数列表相同,方法体不同
遵循运行期绑定,看对象的类型来调用方法
重载:(overload)
发生在一个类中,方法名相同,参数列表不同,方法体不同
遵循编译器绑定,看参数 引用类型的绑定的方法
3.代码实现
Shoot设计项目二
1.需求分析
A: 给类中间添加修饰符
B:给6个派生类中添加图片属性
1)6个派生类中添加static属性
2)在父类中添加静态方法loadlmage()加载图片
3)6个派生类中static代码块,调用loadlmage()方法
2.技术实现
修饰符
Y/N | public | protected | default | private |
---|---|---|---|---|
同一个类 | y | y | y | y |
同一个包中不同类 | y | y | y | |
不同包子类 | y | y | ||
不同包中的类 | y |