专业调查报告5.docVIP

  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文档。上传文档
查看更多
专业调查报告5

专业调查报告 《计算机科学与应用系专业调查》 报告书 题 目: 坦克大战设计与实现 指导教师:马伟杰 姓 名: 孟文涛 学 号: 091006320 日 期: 2012.5.31 计算机科学与应用系 2010-2011学年第二学期 一 系统分析 可行性分析 技术可行性 软件使用swing、GUI、面向对象设计等技术实现,这些技术均已是非常成熟的技 术,之前已有相当多使用这些技术的成功案例,故现使用这些技术是可行的。 经济可行性 本软件是为练习j2se基础的,不存在经济上的困难,且本软件旨在交流学习过程 与方法,故肯定是免费的! 需求分析 通过反复研究以及对现有坦克大战游戏的研究,得知游戏须具有以下功能: 需要有图形游戏界面,让用户能看到游戏给出的反馈 有人机交互功能,使用户能操作指定的游戏元素 不同队伍的坦克,须有不同标识,以分辨敌我 坦克能够开火,攻击敌方,但不能攻击队友 需要有不可被子弹穿透的墙,且坦克不能穿过墙 主战坦克有生命值,并非被击中一次就会爆炸,机器坦克击中一次爆炸 游戏过程中产生道具,拾到道具主战坦克可得到相应加成 游戏为单机版,只能有一辆主战坦克 游戏难度有不同级别,通过关卡设置实现 游戏的操作、进度等须提供相应说明,以告知玩家 游戏需要具有激励机制,比如得分 游戏需要有声音增加游戏趣味性 游戏需要添加图片增加游戏表现性 游戏结束后可重新开始 二 系统主要功能及模块划分 1( 坦克大战主窗口模块:主要负责游戏中角色的显示,及游戏数据的实时更新,是坦 克大战游戏与玩家交互的主要场地. 2( 坦克大战坦克角色模块:主要负责游戏中主战坦克,敌方坦克的产生和绘制,及主 战坦克相应玩家键盘事件达到交互,敌方坦克自主移动达到游戏趣味性的功能实现. 此模块属于核心模块,关乎游戏健壮性和趣味性. 3( 坦克大战辅助角色模块:此模块包含其他辅助类角色的创建.比如坦克血条绘制,奖 励物品产生且随机运动的实现,墙的随机产生于绘制. 4( 坦克大战图像音效控制模块:主要负责游戏过程中坦克图片,子弹爆炸图片,子弹 图片的切换,及子弹击中坦克的音效切换的实现.此模块是实现坦克大战游戏良好 视听效果的关键模块. 三 系统流程图 游戏开始 初始化游戏角色 游戏关卡 YES = 创建新线程,负责最大关卡 游戏主窗口重绘 NO 敌方坦克绘制 辅助角色绘制 主战坦克绘制 NO 随机运动 YES 键盘响应 YES 被捕获 YES 从窗口去除 Lifevalue0 RobotTank LiveCount0 0 通失胜关 NO NO 败 利 游戏结束 四 系统详细设计 1( 数据结构设计:由于本系统属于单机版游戏,故不需要复杂的数据结构设计.在系 统中,通常采用List保存主战坦克发射的子弹,敌方坦克发射的子弹,辅助角色等 元素信息.采用List的好处是查询效率高,可以提高游戏性能.另外,采用Map容器 存放图片信息,由于Map是Key-Value键值对,容易存取,故使用起来十分方便. 2( 类设计: TankClient类(坦克游戏主窗口) 主要属性: 主要操作: int level:当前游戏关卡(级别), void paint(Graphics g):角色绘制 int totalLevel:总关卡(级别), void update(Graphics g):角色重绘(双缓冲) int rbTankCount:敌方坦克数量 void lauchFrame():主窗口初始化 Tank myTank:主战坦克(玩家控制) void InitTank():主战坦克初始化 List rbmissiles:敌方坦克发射子弹列表 void InitRbTank():敌方坦克初始化 List missiles:主战坦克发射子弹列表 void Maps():游戏地图初始化 List explodes:爆炸效果列表 void initGame():初始化游戏 List RbTanks:敌方坦克列表 boolean collideWithRect(Rectangle rect): List walls:游戏中防护墙列表 碰撞检测 List bloods:生命奖励物品列表(加生命值和血量) List bullets:超级炮弹奖励物品列表(加超级炮弹数量) List shields:超级防护罩奖励物品列表(加超级防护罩数量) Tank类(坦克类) 主要属性: 主要操作: int XSPEED:水平方向速度 void keyPressed(KeyEvent e):键盘响应(按下) int YSPEED:垂直方向速度 void keyReleased(K

文档评论(0)

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

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

1亿VIP精品文档

相关文档