《坦克大战》系统分析设计

《坦克大战》系统分析设计

ID:27782450

大小:170.71 KB

页数:12页

时间:2018-12-06

《坦克大战》系统分析设计_第1页
《坦克大战》系统分析设计_第2页
《坦克大战》系统分析设计_第3页
《坦克大战》系统分析设计_第4页
《坦克大战》系统分析设计_第5页
资源描述:

《《坦克大战》系统分析设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、《坦克大战》系统分析设计文档目录一、系统功能模块11.战斗模块:11.1移动模块11.2射击模块21.3生命值模块31.4碰撞检测模块31.5对象创建模块41.6积分模块41.7作弊模块51.8道具模块52.面板绘图模块63.事件处理模块6二、程序关键类说明71.Tank^72.Missile83.TankLocal类94.BloodTool类10系统功能模块整个游戏系统利用面向对象语言Java编写,程序可大致分为以下几个大模块:对义创让棟坱权分校块作弊校块1.战斗模块:1.1移动模块•模块描述:使玩家与电脑坦克能够自由并且匀速流畅的进行

2、移动,通过按下和松开键盘上的方向键来实现移动和停止移动。•设计方案:我们对传统的坦克四向移动方式其进行了完善,将原本的四向移动完善为八向移动,即除了传统的上下左右移动之外,还增加了斜向移动,也就是左上、左下、右上、与右下。除了可以按住单个方向键进行四向移动之外,还可以同时按住两个互不相反方向键来进行斜向移动的实现,松开方向键之后坦克停止移动,同样,电脑控制的坦克也是八向的移动方式,这样就增加了更多的不确定因素,游戏的耐玩性和挑战性得到/提高。•关键技术介绍:在tank矣中定义一个枚举矣表示方向,其中拈9个固定方向对象:八个方向七stop静

3、止,方便直接调用这些固定对象;对主站坦克,即玩家的坦克设置布尔类型的方向标志位,再通过switch...case...语法对玩家按键情况进行检测,于是可以检测出玩家按下的两个键,最后通过调用位移方法达到移动的目的。1.2射击模块•模块描述:使玩家与电脑控制的坦克能够流畅并£L自由但是冇限制的发射子弹,通过按下和松开键盘上的空格键来实现射击和停止射击,子弹弹道以直线匀速的形式飞出。•设计方案:我们对传统的坦克四向射击方式进行了完善,将原本的四向完善为八向射击,即除了传统的可以上下左石射击之外,还增加了斜向射击,也就是说在八向移动的基础上,按

4、下键盘上的空格键,玩家控制的坦克就可以朝着当前的朝向发出子弹,如果玩家按住空格键不放,坦克将只会发出一颗子弹,而不是不停的射it?。•关键技术介绍:在八个方向移动的基础上,通过监听玩家按下的按键,在绘制子弹前,获取当前坦克的移动方向标志位的值dir,就可以知道即将打山的子弹朝哪个方向飞行,并绘制它即可。飞出的子弹不改变方向直线匀速(大于坦克的移动速度)飞行,直到撩到障碍物或边界或击中坦克,子弹消亡。1.3生命值模块•模块描述:让玩家和电脑控制的坦克都具有一定量的生命值,在受到攻击之后生命值减少,电脑控制的坦克生命值减少完之后就会被摧毁,玩

5、家的坦克生命值减少完之后游戏结束,增加游戏的可玩性与玩家容错率。•设计方案:将牛.命值用血条的方式呈现出来,即在玩家和电脑控制的坦克的图标上方显示代表当前生命值的血条,电脑控制的每辆坦克可以承受4次攻击,然后被摧毁,玩家控制的坦克可以承受6次攻击然后被摧毁,游戏结束。每次受到攻击之后血条就会有相应的减少来响应被攻击。•关键技术介绍:利用到Java中的内部类,这样的好处是可以直接与tank对象融为一体,坦克移动血条就会跟着移动;在tank类里定义一个内部类,bloodbar血条,里面包括自身的draw方法,画出血条,血条长度通过获取坦克当前

6、的血量进行绘制。这样就可以实现坦克的生命值的图形化。1.4碰撞检测模块•模块描述:游戏中,坦克与坦克之间,坦克与墙之间,子弹与坦克之间,子弹与墙之间等都需要进行碰撞检测,撞墙不能前进,坦克之间也不能相互穿透,子弹也不能穿透墙壁。•设计方案:通过获取被测对象的当前坐标,并对两个对象的坐标进行比较检验是否发生碰撞;坦克与坦克之间,通过从坦克集合里遍历取出坦克,判断是否存活,然后依次与被测对象进行碰撞检测,其他情况的碰撞如子弹与坦克可同理实现。•关键技术介绍:利用Java中最简单的矩形碰撞检测,先引入publicRectanglegetRect

7、()方法,被测的两个对象直接调用getRectO方法得到自身所在的矩形表框,通过intersects()方法比较两个对象的所在矩形框是否相交来判断是否发生碰撞。1.5对象创建模块•模块描述:游戏中所有可视化对象的创建过程与方法,有的简单的逐一创建,有点群体创建。•设计方案:对主坦克、墙障碍进行单独创建,对敌人坦克、子弹、爆炸效果等对象进行群体创建,并合理地对它们进行添加、删除等操作。•关键技术介绍:利用Java中的集合中ArrayList来实现对象的群体控制,对子弹、敌人坦克、爆炸效果各定义一个ArrayList,并在各自应该创建的地方利

8、用add()方法添加到数组屮即可,最后在主类屮遍历取出每个对象,调用各自的draw()方法就可以创建并绘制出多个对象。1.6积分模块•模块描述:由于本游戏的核心就是玩家控制坦克去摧毁电脑控制的

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。