1、需求分析
A :将窗体的大小设置为常量
B:画对象
想画对象先获取到图片,针对每一个对象都能够回去到图片;获取到图片的行为是共有的,设计到父类中;每一个对象得到图片的行为都是不一样的,设计了一个抽象方法。-------getImage();在不通状态下,得到不同的图片;
状态:设计到父类当中,设计常量,:life dead;remove;
默认状态:state = LIFE
获取图片的同时,需不需要判断当前状态??需要判断
每一个对象都需要判断,设计到超类,父类中;
而每一个对象判断的行为都是一样的,设计普通方法即可;
----------flyingobject:islife()/isDead()/isRemove()
C:在6个子类对象中重写getImage()方法;
- Sky直接返回即可
- 子弹Bullet:如果是存活的,返回images即可,
如果是over的,删除即可; - 英雄机:如果是存活的,返回image[0] images[1] ,如果是over的
- 小敌机:如果是存活的返回:images
如果是over,images [1]到images[4]进行切换,切换完毕,到images[4]后,进行删除。
D:得到不同状态的图片 ,进行开始画出来;
画对象的行为是共有的,所以设计到超类中;
每一个对象画的方式都是一样的,所以设计为[普通方法];
E:测试,调用即可;
2、设计规则
- 将所有子类所共有的行为和属性,可以设计到超类中,抽共性;
- 所有子类的行为都是一样的,设计为普通方法;所有子类的行为都是不一样的,设计成抽象方法;
Shoot射击游戏项目五
1、需求分析
A :敌人入场
- 产生敌人:在Shoot Main类中nextOne()
- 需要定时加载敌人-----enterACtion()实现敌人入场;
- 每四百毫秒进入,获取到敌人,扩容,将敌人添加到数组的最后一位。