基于JME的Java游戏坦克大战的开发毕业设计论文.docVIP

基于JME的Java游戏坦克大战的开发毕业设计论文.doc

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

西 南 交 通 大 学 Java游戏编程技术课程设计报告 坦克大战游戏编程课程设计报告 年 级: 2008级 学 号: 姓 名: 陈锦添 专 业: 信息管理与信息系统 分数: 教师签名: 二零一零年六月 摘 要 Java良好的跨平台特性在移动平台的开发中显示出了巨大的威力。Java语言面向对象的优势也使得开发游戏变得非常容易。 随着手机的日益普及、Java功能在移动设备上的实现,Java应用程序产生的手机增值服务逐渐体现出其影响力,对丰富人们的生活内容、提供快捷的资讯起着不可忽视的作用。本论文着眼于J2ME技术的应用,开发一款可商用的手机游戏程序——坦克大战。本程序的界面和运作方式继承于日本任天堂公司在20世纪80年代开发的Battle City游戏,将老少皆宜的经典作品移植到手机上来,为更流行的硬件平台提供应用软件。 本论文介绍了任天堂红白机的软硬件特性、J2ME的相关技术及本程序的结构分析和具体功能的实现。 [关键字 - I - Abstract - I - 第一章 程序结构、思想和相关技术 - 3 - 1.1 本程序需解决的有关技术问题 - 3 - 1.2 程序流程 - 4 - 1.3 绘图与MIDP2.0新增的GameCanvas包 - 6 - 1.3.1 提供低级绘制的Canvas类 - 6 - 1.3.2 Graphics类 - 6 - 1.3.3 PNG格式 - 6 - 1.3.4 Game包中的新功能 - 7 - 第二章 游戏的设计思路 - 8 - 2.1 坦克的控制和敌方的智能运行 - 8 - 2.2 子弹的运行和控制 - 9 - 2.3 RMS数据库系统 - 10 - 2.4 内存使用的最佳化 - 11 - 2.5 混淆器(Obfuscator)的使用 - 12 - 第三章 程序分析和具体实现 - 12 - 3.1 游戏进入前的选择 - 12 - 3.2 主游戏逻辑及其涉及到的若干类 - 13 - 3.3 坦克的共同行为 - 15 - 3.4 玩家坦克的功能属性 - 16 - 3.5 敌人坦克的功能属性 - 16 - 3.6 子弹的运行和控制 - 18 - 3.7 记分系统 - 19 - 3.8 本章小结: - 21 - 第四章 总 结 - 21 - 4.1 本程序的总结和展望 - 21 - 4.2 经验和感想 - 22 - 参考文献 - 23 - 第一章 程序结构、思想和相关技术 1.1 本程序需解决的有关技术问题 1. 游戏程序是一项精度要求很高的程序系统,因为其代码利用率很高。一个实时运行的最终作品,每秒都会运行成千上万行程序,绘图事件、键盘事件都会以极高的频率在后台等待响应,若有丝毫的差别都将很容易导致程序在运行不久后可能出现严重错误,甚至死循环。因此,其逻辑设计应当相当严谨,需将所有可能发生的事件及意外情况考虑在设计中。 2. 游戏中为了美观,适用性强,可能需要采用外部文件引入的图片贴图,有关贴图,在MIDP2.0中提供了用于增强游戏功能的game包,使得解决静态或动态、画面背景、屏幕刷新的双缓冲等都有较好的解决方案。 3. 己方坦克的运行可以通过键盘响应事件控制,但敌方则因为是自动运行,就需要有一定其一定的智能性;同时,出现在屏幕上的敌方可能会有较多的数量,这需要为每个敌方开辟一个线程以便能让其独立运行。Java的多线程能力为实现这样的游戏提供了可能。敌人坦克的运行算法也需要进行适当的设置,以免游戏过于简单,单调。 4. 对于双方坦克发出的子弹的控制也需要对其跟踪控制,子弹也需要处在独立的线程中。敌方子弹仅需要扫描用户坦克,而用户坦克需要在每一步扫描所有的敌方坦克。这需要对所有的对象有较好的控制。另外,子弹在运行过程中也需要实时扫描是否碰撞到了相关障碍物或屏幕边界。如此过多的线程同时在本来效率就不高的KVM虚拟机上运行,也许会导致程序的缓慢。 5. 双方的坦克在前进时也需要考虑到是否碰撞到相关物体或对方坦克,以免重叠运行,造成许多物理上不可能的情况,缺乏真实感。每一次刷新页面、每前进一步都需要将所有的周围环境都进行扫描。 6. 游戏的结束、开始、动态信息画面作为构成一个完美程序都是必不可少的重要部分。良好的用户界面更是吸引用户的硬指标,相关的美术构图也需要有一定的考虑。 7. 游戏的地图不可能通过绘图来解决。否则,不仅难于控制和处理过多的元素,也会因过多的大型图片而不能限制程序的大小,失去手机上程序的原则和Java的优势。同时,地图关卡不宜保存在手机有限的内存中,而最好采取外部文件的读入读出方

文档评论(0)

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

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

1亿VIP精品文档

相关文档