Shoot射击游戏项目四
1.需求分析A:将窗体大小设置为常量B:
画对象:
先获取图片(每一个对象都有),获取的行为是共有的,放入父类中。
每一个对象得到的图片行为不同,在父类中设计一个抽象方法-getimage();
在不同状态下,得到不同照片:
状态:父类中,设计常量:life、dead、remove
默认状态:state=life
获取图片的同时,需要判断当前状态
每一个对象都需要判断,涉及到超类、父类中:
每一个对象判断的行为都是一样的-----普通方法: FlyingObject:isLife()/isDead()/isRemove()C:在6个子类对象中重写getImage()方法;sky:直接返回即可、子弹Bullet:如果存活的,返货images即可,如果over,删除即可。英雄机:如果存活的,返回images[0]/images[1]小敌机:如果存活,返回images[0],如果over,返回images[1]到images[4]进行切换,切换完毕,到images[4]删除。D:得到不同状态的图片,进行画对象;
画对象的行为是共有的—超/父类;
每个对象画的方式相同—普通方法;E:测试,调用。设计规则: 将所有的子类所共有的行为和属性,可以涉及到父类中;------抽共性
所有子类的行为都是一样的—普通方法;行为都不一样-----抽象方法。Shoot射击游戏项目五1.需求分析A:敌人入场产生敌人:在shootMain类中,定时加载敌人----enterAction()每400毫秒获取敌人,扩容,将敌人添加到最后一位。B:子弹入场英雄机发射子弹hero类设计方法实现子弹发射—short()run()方法,子弹发射shortAction()每400毫秒获取敌人,扩容,将敌人添加到最后一位。C:飞行物的移动地热的移动天空的移动子弹的移动D:英雄机随鼠标的移动而移动在greo中设计方法:movedTo()实现英雄级的运动;在ShootMain中建立监听机制,检测鼠标的移动事件;删除越界的飞行物在FlyingObject中设计一个方法outOfBounds()–检测是否越界;在run()方法中,写一个方法outOfBoundsAction()删除越级的飞行物除越级的飞行物便利敌人、子弹数组,如果对象不越界,那么将存放到不越界的数组中,将不越界的数组复制到敌人、子弹数组中。设计接口:击中小敌机+大敌机-----得1分 或者 3分------Enemy击中蜜蜂-----随机得生命或者火力-----Award