坦克大战系统《Java程序开发实训》综合实训报告.docVIP

坦克大战系统《Java程序开发实训》综合实训报告.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
坦克大战系统《Java程序开发实训》综合实训报告

《Java程序开发实训》综合实训报告 题目: 坦克大战系统 姓名: 方庆 学号: 2010203206 班级: 10软件(2)班 系统实现的主要功能及运行结果截图 选择的语言的原因 游戏本身是一种娱乐方式,带给人无尽的乐趣,而且游戏行业的发展也将是带动周边行业的发展。同样对做出游戏的人的要求也会越来越高一满足游戏爱好者的要求。本次期末设计就是设计一种娱乐性较强的小游戏坦克大战,说到大战其实是不敢当的。但游戏基本拥有可玩性。java语言是一种跨平台,适合与分布计算环境的面向对象编程语言,java主要用在web开发,手机游戏及一些平台游戏的开发,他有很好的跨平台性。所以本次的设计坦克游戏选择的是java。 系统软件的软件环境 1.网络服务器操作系统:Window是 XP以上 2.开发工具:Eclipse 3运行环境:J2sdk 4.编程语言:java语言。 人机对战模式功能 1.能够发射子弹打击敌人2.敌人能够移动3.能够模拟爆炸4.能够产生障碍 5能够增长生命6.能够使用超级子弹 坦克可以发射子弹 玩家坦克被击中血量减少。 被击中的坦克发生爆炸并且吃血块可以加血量。 玩家坦克可以从把方向发射超级子弹 自己的TankHealth为=0时,。说明玩家坦克已死亡。游戏结束 本系统的坦克大战是基于java语言设计的开发,具有较高的人工智能和相对的图形处理。游戏可一人作战每次电脑方有10辆坦克, 此一举消灭全部的敌方坦克为目的。在这过程中坦克有机会得到血块来添加自己的生命值。从而变得强大。也利用wall来形成阻击敌人。 游戏拥有开挂的功能。可以穿过墙体来攻击敌方坦克。还给玩家坦克 置了超级炮弹。从八个方向同时射出炮弹来摧毁敌方坦克。主要功能 简单罗列如下: 1.屏幕左上方显示游戏的状态,当玩家方坦克全数为0是游戏结束 2.敌方坦克只在空地上行走,不可通过Wall 3.游戏打坏敌方坦克后,可随机位置随机出现血块奖励。坦克经过该 位置可获得相应的生命值加成。 4.玩家坦克的游戏资格和电脑坦克不同。 TankClient类设计流程 游戏系统类关联图 TankClient类 此类主要功能是利用java中包来实现的坦克游戏的主主窗口,以及对其他类调用和实例化 Blood类 此类主要定义坦克的生命值,有可以控制玩家坦克加血等操作方法。 Missile类 此类主要的是游戏中的炮弹类,其中有炮弹的大小以及移动等成员。 BaoZha类 此类定义的是坦克被攻击的爆炸,其中有坦克击毁的图形变化等成员。 Tank基本类功能分析 Tank类中,封装了一些变量属性,包括坦克自己的大小。运动速度方向控制、生死控制、好坏控制。Tank类中没有main函数,不是主类,它当中只封装一些变量属性和静态方法,被TankClient类调用来实现坦克的一系列动作Tank类主要方法如下: 1.getRect()方法 public Rectangle getRect(){ Return new Rectangle(x,y this.WIDTH,this.HEIGHT) } Rectangle类是碰撞检测的辅助类,通过得到子弹x,y的坐标。检测是否碰撞. 2.draw()方法:负责将所有的活动在屏幕上画出来; 3.move()方法:主要负责坦克的移动,包括八个方向的控制以及坦克一个移动速度; 4.boolean()方法:设定键盘事件。控制坦克移动 5.KeyRelesed()方法:处理按键抬起事件,安“J”键时,发射普通炮弹。抬起“K”键发射超级炮弹 6.locationDirection()方法:定义炮筒的方向,可以向八个方向发射炮弹 7.fire()方法:处理发送子弹的方法; Missile类的基本功能分析 Missile(子弹)类和Tank类一样,只封装一些变量属性和静态方法,主要包括:子弹的大小,运动的速度,Missile类持有一个TankClient类的引用tc,TankClient类要执行发射炮弹操作是调用Missile类中的方法。Missile类中的方法主要如下: 1.draw()方法:负责画出子弹的所有活动 2.move()方法:先判断方向在移动。并且给一定的移动速度。 3.个头Rect方法:负责取得子弹的方形,为碰撞做准备; 4.hitTank()方法:检测子弹是否撞到坦克撞到返回ture,否则返回false。 BaoZha类的基本功能分析 BaoZha(爆炸)类也是封装自己的变量和方法的外部包装类,没有main方法,供TankClient主类需要时调用它的draw()方法,当子弹击中坦克是需要产生爆炸。下面是爆炸的图片: 综合实训过程中遇到的问题及解决方法 遇到的问题: 炮弹不消失 坦克出界 解决方案:

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档