飞机大战展示

  • 格式:ppt
  • 大小:913.50 KB
  • 文档页数:25

下载文档原格式

  / 25
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


3)英雄机与敌机碰撞,检查游戏是否结束
A.检查英雄机与敌机是否碰撞checkGameOverAction() B.实现checkGameOverAction(),在这个方法里面判断 判断游戏是否结束isGameOver()


C.在isGameOver()中判断敌机与英机是否撞hit(),在
2)A.在ShootGame类中运用构造方法对成员变量初始化
B.在main()方法中利用frame.setVisible(true);来自动调 用paint()方法


C.在paint()方法中画出背景,敌机,子弹,蜜蜂
英机
初始化后的效果图:
(2)使画面动起来,并且打上的飞机消失
+= e.getScore();如果打中蜜蜂,则Award a = (Award)one;int type = a.getType();switch (type){}

C.在FlyingObject实现bang()方法
实现让画面动起来,并且实现被打上的飞机能消失 后的效果图:
(3)画分和命,判断越界,英机碰撞,不同状态.
英 机 和 敌 人 碰 撞
英 机 的 生 命 为 零 。 游 戏 结 束
3.详细设计
(1)将游戏背景画出,初始化蜜蜂,敌机,英机
(2)
让画面动起来,并且实现被打上的飞机能消失
(3)画出不同的状态,得分,拥有的命
(1)将游戏背景画出,初始化蜜蜂,敌机,英机
1)建类和初始化
父类:. class FlyingObject{ image,width,height,x,y } 子弹类: class Bullet extends 1{ speed Bullet(int x,int y){} }
moveTo(x,y)写在run()外面
5)子弹和敌人碰撞
A.子弹和敌人碰撞是系统自动的,所以将bangAction() B.在bangAction()中,将子弹bullets[i]传入bang()中,判

断是否打中,如果打中敌机,则
score
Enemy e = (Enemy)one;
主类射击类: class ShootGame extends JPanel{ WIDTH,HEIGHT background,start,pause,gameover airplane,bee,bullet,hero0,hero1 hero(Hero) flyings(FlyingObject[]) bullets(Bullet[]) ShootGame(){初始化对象} static{}
飞机大战展示
主讲人:jsd07班 HXW
1.飞机大战简介 2.需求分析 3.概要设计 4.详细设计 5.编码
1..飞机大战简介

点击游戏窗口,游戏开始,窗口上面不断有敌机和蜜 蜂降落,英雄机发射子弹,打中敌机加5分,打中蜜蜂加 分或者加一条命
游戏中所用到的主要图片展示
敌机: 蜜蜂: 背 景
子弹: 游 戏 结 束
1)敌人入场
A.创建action(),由于敌人入场不受人为控制,所以将 enterAction()写在action()里的run()方法里面 B.实现enterAction()每产生一个对象扩容flyings,再存入 flyings数组中


C.nextOne()的实现,生成0到19间的随机数为0时 return new Bee();否则return new Airplane();
中实现step(),让他们走步
3)子弹入场
A.子弹发射受系统控制,所以shootAction()写入run() 中 B.实现shootAction(),扩容子弹数组,将产生的子弹对 象存入子弹数组中

4)鼠标控制英机移动
A.由于英机移动是人为控制,所以将控制的方法 B.在Hero()实现moveTo(int x, int y)
2)判断越界



A.越界方法OutOfBoundAction()写在run()中 B.实现OutOfBoundAction()
1)声明活着的数组 2)遍历flyings/bullets数组 判断对象是否不越界: 若true: 将对象添加到活着的数组中 3)将活着的数组复制到flyings/bullets数组中 }
Hero中实现hit()方法,
4)画状态的实现:
A.在ShootGame中定义三个静态常量 B.画出状态paintState(); C.控制run()里面的方法


D.重写mouseClicked()
E.重写mouseExited() F.重写mouseEntered()
游戏结束状态展示:
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);
敌机类: class Airplane extends 1 implements 2{ speed Airplane(){} 重写getScore() } 蜜蜂类: class Bee extends 1 implements 3{ xSpeed,ySpeed,awardType Bee(){} 重写getType() }

2)敌人走步
A.在run()方法中写入stepAction()方法 B.在stepAction()中调用hero.step(), flyings[i].step, bullets[i].step使英机,敌机,子弹走步

C.分别在Hero()类,Airplane()类,Bullet()类,Bee()类
英机类: class Hero extends 1{
life,doubleFire,images,index Hero(){} }
敌机接口: interface Enemy{ int getScore(); } 奖励接口: interface Award{ DOUBLE_FILE,LIFE int getType(); }
英机0:
英机1:
游戏界面一


游戏开始
界面二
游戏在暂停状态
界面三
1.游戏在运行状态 2.敌机在下落 3.蜜蜂在下落 4.英机在发射子弹
界面四

游戏结束状态
2.概要设计
Байду номын сангаас
进 入 游 戏
游 戏 界 面 初 始 化
显 示 界 面
开 始 游 戏
敌 人 开 始 走 步
英 机 发 射 子 弹 打 敌 人

相关主题