飞机大战展示ppt课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
21
2)判断越界
A.越界方法OutOfBoundAction()写在run()中
B.实现OutOfBoundAction()
1)声明活着的数组
2)遍历flyings/bullets数组
判断对象是否不越界:
若true:
将对象添加到活着的数组中
3)将活着的数组复制到flyings/bullets数组中
子弹类: class Bullet extends 1{
speed Bullet(int x,int y){} }
敌机类: class Airplane extends 1 implements 2{
speed Airplane(){} 重写getScore() }
蜜蜂类: class Bee extends 1 implements 3{ xSpeed,ySpeed,awardType
Bee(){} 重写getType() }
11
英机类: class Hero extends 1{
life,doubleFire,images,index Hero(){}
}
敌机接口: interface Enemy{ int getScore(); } 奖励接口: interface Award{ DOUBLE_FILE,LIFE
18
5)子弹和敌人碰撞 A.子弹和敌人碰撞是系统自动的,所以将bangAction() 中 B.在bangAction()中,将子弹bullets[i]传入bang()中,判 断是否打中,如果打中敌机,则 Enemy e = (Enemy)one; score += e.getScore();如果打中蜜蜂,则Award a =
1)敌人入场 A.创建action(),由于敌人入场不受人为控制,所以将
enterAction()写在action()里的run()方法里面 B.实现enterAction()每产生一个对象扩容flyings,再存入
flyings数组中 C.nextOne()的实现,生成0到19间的随机数为0时
16
3)子弹入场 A.子弹发射受系统控制,所以shootAction()写入run()
中 B.实现shootAction(),扩容子弹数组,将产生的子弹对
象存入子弹数组中
17
4)鼠标控制英机移动 A.由于英机移动是人为控制,所以将控制的方法 moveTo(x,y)写在run()外面 B.在Hero()实现moveTo(int x, int y)


英机0:


英机1:
4
游戏界面一
游戏开始
5
界面二
游戏在暂停状态
6
界面三
1.游戏在运行状态 2.敌机在下落 3.蜜蜂在下落 4.英机在发射子弹
7
界面四
游戏结束状态
8
2.概要设计
游 进戏 入界 游面 戏初
始 化
敌 显 开人 示 始开 界 游始 面 戏走


英 机 发 射 子 弹 打 敌 人
return new Bee();否则return new Airplane();
15
2)敌人走步 A.在run()方法中写入stepAction()方法 B.在stepAction()中调用hero.step(), flyings[i].step, bullets[i].step使英机,敌机,子弹走步 C.分别在Hero()类,Airplane()类,Bullet()类,Bee()类 中实现step(),让他们走步
(Award)one;int type = a.getType();switch (type){} C.在FlyingObject实现bang()方法
19
实现让画面动起来,并且实现被打上的飞机能消失 后的效果图:
20
(3)画分和命,判断越界,英机碰撞,不同状态.
1)画分和命 A.画分和命的方法paintScore()放在paint()中 B.实现paintScore(g)方法 g.setColor(); g.setFont(); g.drawImage("score:"+score,10,25,null); g.drawImage("LIFE:"+hero.getLife(),10,45,null);
12
2)A.在ShootGame类中运用构造方法对成员变量初始化
B.在main()方法中利用frame.setVisible(true);来自动调
用paint()方法
C.在paint()方法中画出背景,敌机,子弹,蜜蜂
英机
13
初始化后的效果图:
14
(2)使画面动起来,并且打上的飞机消失
飞机大战展示
主讲人:jsd07班 HXW
1
1.飞机大战简介 2.需求分析 3.概要设计 4.详细设计 5.编码
2
1..飞机大战简介
点击游戏窗口,游戏开始,窗口上面不断有敌机和蜜 蜂降落,英雄机发射子弹,打中敌机加5分,打中蜜蜂加 分或者加一条命
3
游戏中所用到的主要图片展示
敌机:
蜜蜂:


子弹:
}
22
3)英雄机与敌机碰撞,检查游戏是否结束
A.检查英雄机与敌机是否碰撞checkGameOverAction()
B.实现checkGameOverAction(),在这个方法里面判断
int getType(); }
主类射击类:
class ShootGame extends JPanel{ WIDTH,HEIGHT
background,start,pause,gameover airplane,bee,bullet,hero0,hero1 hero(Hero) flyings(FlyingObject[]) bullets(Bullet[]) ShootGame(){初始化对象} static{}
英 机 和 敌 人 碰 撞
机 的 生 命 为 零 。 游 戏 结

9
3.详细设计
(1)将游戏背景画出,初始化蜜蜂,敌机,英机 (2) 让画面动起来,并且实现被打上的飞机能消失 (3)画出不同的状态,得分,拥有的命
10(1)将游戏背景画出,始化蜜蜂,敌机,英机1)建类和初始化
父类:. class FlyingObject{ image,width,height,x,y }
相关文档
最新文档