




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件详细设计说明 本游戏主要用上的类包括 游戏窗口类 GameFrame 游戏入口类 Runner Tank 类 坦克抽象类 玩家坦克类 PlayerTank 敌人坦克类 EnemyTank 子弹类 Missile Direction 方向枚举类 Explode 爆炸类 Obstacle 障碍物抽象类 Wood 木头类 Stone 石头类 TankTool 道 具抽象类 Crystal 水晶类 Crown 皇冠类 类间关系 PlayerTank EnemyTank 继承 Tank 类 Wood Stone 继承 Obstacle 类 Crystal Crown 继承 TankTool 类 类的详细设计 Tank 坦克类 抽象类 属性 int x y 所在参考坐标 int oldX oldY 上一次的所在坐标 public static final int WIDTH 50 默认宽度 public static final int HEIGHT 50 默认高度 int width WIDTH 坦克图像的长和宽 int height HEIGHT int xSpeed 10 坦克每次水平运动的像素 速度 int ySpeed 10 坦克每次垂直运动的像素 速度 Direction dir Direction D 方向 Direction ptDir Direction D 炮筒方向 boolean bL bU bR bD 记录对应方向按钮是否按下 缓冲键盘 按键录入信号不均匀 boolean live true 是否活着 int life 100 坦克生命值 GameFrame gf 游戏类引用 持有本游戏对象 int team 所属队伍编号 0 为玩家 1 为敌方 2 以上可以扩展为其他队伍 抽象方法 public abstract void draw Graphics g 画坦克 public abstract void move 移动坦克 public abstract void fire 开炮 public abstract void beHit 被击中 一般方法 与其他坦克相碰撞 public void collidesOtherTank List tanks 获得坦克碰撞类 public Rectangle getRect PlayerTank 玩家坦克类 继承了 Tank 属性 private int jump 0 记录坦克行走时 出现动态效果 private boolean isJump false 记录当前是否跳起 解决跳动不太自然的现 象 private int jumpFrequency 6 跳的频率 方法 public void draw Graphics g 移动 public void move 根据键盘按键 坦克作出准备移动的反应 public void keyPress KeyEvent e 根据按键 产生下次移动的方向 void locateDirection public void keyReleased KeyEvent e 发炮 public void fire 被打中 public void beHit EnemyTank 继承 Tank 属性 private static Random r new Random 随机数产生器 private int step r nextInt 3 3 随机移动步数 方法 public void draw Graphics g 画坦克方法 public void move 坦克移动方法 public void moveRandom 随机移动 public void moveTrace 追踪玩家坦克移动 1 91 或者远离玩家 选择逃跑 void locateDirection 根据所按的方向键 改变方向值 public void fire 开炮方法 public void beHit 被打中 Obstacle 类 抽象类 所有障碍物的父类 属性 int x y 障碍物的参考坐标 int width height 障碍物的 长宽 boolean live true 障碍物是否活着 方法 public abstract void draw Graphics g 画出自己 public abstract void beCollidesByTank Tank tank 被一台坦克碰撞 public void beCollidesByTanks List tanks 被一系列坦克碰撞 被一系列子弹碰撞 public abstract void beCollidesByMissile List missiles public Rectangle getRect 取得碰撞类 石头类 继承障碍物 属性 public static Image image 展示的图片 public Rectangle getRect 取得碰撞类 方法 public void draw Graphics g public void beCollidesByMissile List missiles 被一系列子 弹打中 public void beCollidesByTank Tank tank 被碰中 public void beBreak 石头被破坏 木头类 继承障碍物 属性 boolean live 木头是有生命的 public Image 展示图片 方法 public Rectangle getRect 取得碰撞类 public void draw Graphics g public void beCollidesByMissile List missiles 被子弹击 中 public void beCollidesByTank Tank tank 被坦克碰上 public void beBreak 被破坏掉 产生爆炸 TankTool 抽象类 所有游戏道具的父类 属性 int x y 道具所在的坐标 int width height 道具的长宽 boolean live true GameFrame gf 方法 public TankTool int x int y GameFrame gf public TankTool int x int y int width int height GameFrame gf abstract public void draw Graphics g 画出道具方法 abstract public void eatByTank PlayerTank tank 被玩家坦克吃掉的方法 public Rectangle getRect abstract public void eatByTank PlayerTank tank 被玩家坦克吃掉的方法 public Rectangle getRect Crystal 水晶类 继承游戏道具 属性 public static Image liveCrystal 展示的图片数组 方法 public void draw Graphics g public void eatByTank PlayerTank tank 被玩家吃掉 Crown 王冠类 继承游戏道具 属性 public static Image liveCrystal 展示图片数组 方法 public void draw Graphics g public void eatByTank PlayerTank tank 被玩家吃掉 内部 private class GoldTimer implements Runnable 状态持续时间 计时器 Direction 方向枚举类 public enum Direction U D L R STOP Explode 爆炸类 属性 private int x y 爆炸出现的位置 private int step 爆炸的步骤 private boolean disappera false 记录爆炸是否消失 private int birdth 5 10 30 50 55 30 10 5 敌人出生时 的背景 private int type 0 爆炸 类型 0 大爆炸 1 小爆炸 2 敌人出生时候的 动画 1 3 type 3 石头爆炸 type 4 木头爆炸 public Image curExplode public Image explodeImages public Image explodeStone public Image explodeWood 方法 public void draw Graphics g 画爆炸方法 Missile 子弹类 属性 private int x y Direction dir public int xSpeed 18 public int ySpeed 18 public int width 8 public int height 8 GameFrame gf private boolean live true private int team 方法 public Missile Tank tank 构造方法 public void draw Graphics g 画出子弹 本身 private void move 子弹移动 public Rectangle getRect 返回子弹碰撞类 public boolean hitTank Tank t 击中一个敌人 public void hitTanks List tanks 打中多个敌人 public void hitMissile Missile m 打中一个子弹 public void hitMissiles List missiles 打中多个子弹 public void beHit 被打中 Runner 游戏运行入口类 public static void main String args GameFrame gf new GameFrame gf startToPlay GrameFrame 游戏窗口类 属性 int GAME WIDTH 游戏窗口宽度 int GAME HEIGHT 游戏窗口高度 int GAME LOC X 游戏窗口水平坐标 int GAME LOC Y 游戏窗口纵坐标 int GAME BACKGROUND 游戏背景粒度 boolean canFire 标记玩家坦克在当前瞬间是否能发炮 long fireFrequency 每隔 1000 毫秒才能发射子弹 boolean start 表示游戏是否进行 boolean pause 标识是否暂停游戏 boolean canBoss 0 92 标记玩家坦克当前是否能 释放Boss技能 long bossFrequency 0 92 每隔 bossFrequency 毫秒才能释放 Boss技能 long curBossTime 0 92 用于累计boss键时间量 当累积到bossFrequency时 可以发动boss键技能 int numOfWar 游戏关卡数 int numOfStone 游戏的石头数目 int numOfWood 游戏的木头数目 int numOfEnemy 本关敌人总数量 int numOfCurrentEnemy 每个时刻只能出现的敌人数 int intelligence 1 21智能系数 值越高 敌人坦克越智能 int score 0 1 4 游戏累计积分 int eacheScore 170 1 4 每个敌人所值分数 PlayerTank playerTank 玩家坦克 List missiles 子弹容器 List enemyTanks 敌方坦克 容器 List explodes 爆炸对象的容器 List obstacles 障碍物的容器 List tools 道具的容器 内部类 刷新游戏界面的线程类 private class PaintThread implements Runnable 监听游戏按钮的类 private class GameControl extends KeyAdapter 发动Boss键的线程 private class BossThread implements Runnable 监听子弹发射速度的线程类 private class FireControlThread implements Runnable 监听boss键冷却时间的线程 1 81 private class BossControlThread implements Runnable 负责创建敌人的线程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 娱乐场所经营管理与安全预案
- 年产22.2万吨乙二醇乙醚醋酸酯项目可行性研究报告
- 自考专业(计算机应用)真题及答案详解【易错题】
- 工业互联网平台量子密钥分发技术在网络安全技术创新与突破报告
- 自考专业(会计)测试卷AB卷附答案详解
- 中级银行从业资格之中级银行业法律法规与综合能力强化训练模考卷及参考答案详解【夺分金卷】
- 三农村土地整治与管理方案
- 中央港澳工作办公室直属单位2025年度公开招聘工作人员笔试高频难、易错点备考题库及答案详解1套
- 中级银行从业资格之中级银行业法律法规与综合能力试题(得分题)及参考答案详解(巩固)
- 重难点解析在职硕士章节训练试卷(详解版)
- 勉县一中小升初数学试卷
- 2025一建《建设工程经济》计算、时间、数字考点笔记
- 校园基孔肯雅热防控措施课件
- 第1课 中国古代政治制度的形成与发展 课件 统编版高中历史选择性必修1
- 药师考试历年真题综合测试试卷(含答案)
- 2025年村级防疫员考试模拟试题及答案
- 生猪屠宰兽医卫生检验人员理论考试题库及答案
- GB/T 12247-2015蒸汽疏水阀分类
- 期权风险管理课件
- 《护理伦理学》教学大纲(本科)
- 板带轧机刚度对热轧板形的影响
评论
0/150
提交评论