Java面向对象 项目 飞机大战 Shoot

飞机大战 Shoot
最终版 Shoot

第一天 MeShoot

Shoot射击游戏第一天:
1.创建了6个对象类,创建World类测试

射击游戏需求:
1.所参与的角色:英雄机、子弹、小敌机、大敌机、小蜜蜂、天空
2.角色间的关系:
1)英雄机发射子弹(单倍火力、双倍火力—-发射一次双倍火力则火力值减2)
2)子弹射击敌人(小敌机、大敌机、小蜜蜂),若击中了:
2.1)子弹消失、敌人先爆破再消失
2.2)若击中的是小敌机,则玩家得1分
若击中的是大敌机,则玩家得3分
若击中的是小蜜蜂,则英雄机得奖励(1条命或40火力值)
3)敌人(小敌机、大敌机、小蜜蜂)撞英雄机,若撞上了:
3.1)敌人先爆破再消失
3.2)英雄机减1条命(命数为0时游戏结束),同时火力值归零
4)英雄机、子弹、小敌机、大敌机、小蜜蜂都在天空上飞
5)项目状态:启动、运行、暂停、游戏结束

设计射击游戏中的对象类:
1)先找对象:英雄机、小敌机、大敌机、小蜜蜂、子弹、天空
2)抽类:Hero、Airplane、BigAirplane、Bee、Bullet、Sky
3)设计类中的成员变量 和 方法
4)创建对象并测试

设计类中的成员变量和方法:
class Hero{ //英雄机
int 宽、高、x、y、命、火力值;
void step(){ //英雄机移动
(启动状态下 英雄机两张图片的切换)
}
void moveTo(int x,int y){
英雄机随着鼠标动
}
}

class Airplane{
}
class BigAirplane{
}
class Bee{
}
class Bullet{
}
class Sky{
}

Java面向对象 项目 飞机大战 Shoot

第二天 MeShoot

Shoot射击游戏第二天:
1.给6个类添加构造方法,并测试

第三天 MeShoot

Shoot射击游戏第三天:
1.设计小敌机数组、大敌机数组、小蜜蜂数组、子弹数组,并测试
2.设计FlyingObject超类,6个类继承超类
3.给FlyingObject设计了两个构造方法,6个派生类分别调用

第四天 MeShoot

Shoot射击游戏第四天:
1.将小敌机数组、大敌机数组、小蜜蜂数组统一组合为FlyingObject数组,并测试
2.在6个类中重写step()移动
3.画窗口:World类中—–4步(Ctrl C/V)
1)import JFrame+JPanel
2)设置World类继承JPanel
3)main中代码Ctrl C/V
4)将frame.setSize()的参数修改为400,700

第五天 MeShoot

Shoot射击游戏第五天:
1.给类中成员添加访问控制修饰符
2.设计Images图片工具类

第六天 MeShoot

Shoot射击游戏第六天:
1.将窗口的宽和高设计为常量,适当地方做修改
2.画对象:
1)想画对象,需要获取对象的图片,每个对象都得获取图片,
意味着获取图片行为为共有的行为,所以设计在FlyingObject超类中,
每个对象获取图片的行为都是不一样的,所以设计为抽象方法

状态有了,还需要去判断状态,每个对象都得判断状态,
意味着判断状态行为为共有行为,所以设计在FlyingObject超类中,
每个对象判断状态的行为都是一样的,所以设计为普通方法
遍历子弹数组,判断若子弹越界了,

Original: https://blog.csdn.net/qq_43205877/article/details/119298898
Author: 土豆大魔王.
Title: Java面向对象 项目 飞机大战 Shoot

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/782495/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球