当前位置:首页>> >>


基于JAVA的超级玛丽设计与实现.rar

收藏

资源目录
    文档预览:
    编号:20180913143530830    类型:共享资源    大小:7.92MB    格式:RAR    上传时间:2018-09-13
    尺寸:148x200像素    分辨率:72dpi   颜色:RGB    工具:   
    40
    金币
    关 键 词:
    基于 JAVA 超级 玛丽 设计 实现
    资源描述:
    太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸i基于 JAVA 的超级玛丽设计与实现摘 要随着计算机技术及网络技术的不断发展,电子游戏越来越普及。经典游戏“超级玛丽”因其本身所具有的娱乐性与教育意义而被人们广泛接受,在广大的青少年玩家中享有极高的知名度。Java 语言作为一种完全面向对象的程序设计语言,在游戏设计方面具有独特优势。Java 语言由 C++语言发展而来,但比 C++语言简单。它具有简单、与平台无关、高效、安全、多线程等特点,在游戏设计开发方面得到广泛应用。本课题在大学生自主创业的大背景下,利用 Java 语言重新设计开发了 “超级玛丽”游戏,基本实现了旧版游戏的所有功能。目前该版本游戏已经发布在学校的公共论坛上,已被许多同学下载并试玩,反响较好,但是仍暴露了一些问题,如人物形象设计过于单调等,这些问题的优化将会在下一个版本中得到实现。本文在对整个游戏的各种需求及可行性分析的基础上,详细论述了游戏的设计过程与实现方案。论文包括绪论、相关技术研究、可行性分析、系统设计与实现以及结论等部分内容。关键词: Java;超级玛丽; C++太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸iDesign and Implementation of a Java-based Super Mario GameAbstractWith the development of computer and network technology, video games have become more and more popular. Super Mario as a classical game, which enjoys high popularity in the majority of juvenile game players was widely accepted due to its entertainment and educational significance. Java language as a programming language that is completely object oriented, has an unique advantage in game design. Java language developed from C++ language is much more simple than C++ language. Its advantages such as simplicity, platform independence, efficiency, security and multi threading etc, has been widely used in the aspects of game design. This topic which is in the context of College Students' entrepreneurship, use Java language to design and develop the “super Mario“ game again that basically achieve the features of the old version of the game. The current version of the game being released in the school public forum have been downloaded and played by many students. Although the evaluation of the game was good, there are still some problems, such as the character image is too monotonous. Optimization of all these problems will be implemented in the next version.Based on the demand and feasibility analysis of the whole game, the game design process and implementation plan were discussed in detail. The thesis includes introduction, related technology research, feasibility analysis, system design and implementation as well as the conclusion part.Key words: Java; Super Mario; C++太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸目录摘 要 ....................................................................iAbstract.................................................................ii1 绪论 ...................................................................11.1 课题研究背景 .....................................................11.2 课题研究意义 .....................................................11.3 课题研究内容 .....................................................22 可行性分析 .............................................................32.1 经济可行性分析 ...................................................32.2 技术可行性分析 ...................................................32.3 系统性能需求分析 ..................................................33 相关技术研究 ...........................................................53.1 开发工具及环境 ...................................................53.1.1 Java 语言 ...................................................53.1.2 Eclipse 环境 ................................................63.2 面向对象程序设计 .................................................63.3 C/S 结构与 B/S 结构 ................................................64 系统设计与实现 .........................................................74.1 开发工作 ..........................................................74.2 游戏素材管理 .......................................................74.3 游戏场景布置 ......................................................84.4 游戏用例图 .........................................................84.5 游戏状态图 .........................................................94.6 游戏时序图 ........................................................94.7 游戏类图 ..........................................................104.7.1 游戏总体类图 ................................................104.7.2 Mario 图类 ..................................................114.7.3 Enemy 类图 ..................................................134.7.4 Obstruction 类图 ............................................144.7.5 BackGround 类 ...............................................154.7.6 StaticValue 类图 ............................................164.7.7 MyFrame 类图 ................................................174.8 游戏功能与代码实现 ...............................................184.8.1 游戏功能 ....................................................184.8.2 代码实现 ....................................................185 游戏运行截图及程序说明 .................................................25结论 .....................................................................30参考文献 .................................................................31致 谢 ...................................................................32外文原文 .................................................................33太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸01 绪论1.1 课题研究背景《超级玛丽》全名为《超级马里奥兄弟》 ,是由任天堂公司出品的著名横版过关游戏。1981 年,任天堂员工宫本茂设计的意大利水管工形象在游戏《大金刚》中初次亮相,随后在全世界广泛流行,之后陆续推出的数十款游戏累计总销量超过了一亿七千万份,超级玛丽成为了任天堂公司的招牌人物并为任天堂创造了高达 70 亿美圆的巨额商业利润。目前,超级玛丽形象已深入人心,其知名度与商业价值可与美国迪士尼的米老鼠相媲美,为全世界的青少年玩家们带来了无限的欢乐与梦想。自 2010 年 5 月国家教育部成功召开“全国推进高等学校创新创业教育和大学生自主创业工作”视频会议 [1],大学生自主创业得到广泛支持与推广,为响应国家政策,大学生应积极利用所学来自主创业,基于经典游戏“超极玛丽” 本身具有的巨大影响力和商业价值,以自主创业,锻炼能力为目的,利用 Java 语言重新设计编写“ 超级玛丽”,并将游戏推广,在为广大青少年游戏爱好者带来欢乐的同时,减轻家庭的负担,实现自己的创业梦想。1.2 课题研究意义随着电脑和手机的普及,超级玛丽游戏被世界广大的青少年游戏玩家所接受,游戏人物本身的教育作用,益智作用和商业价值得到推广。超级玛丽游戏人物的不畏艰险,百折不挠的奋斗精神不断鼓舞着每一代的游戏玩家,充分发挥了电子游戏积极有益的一面,从正面去引导儿童和青少年对人生的态度,同时,也逐渐改变家长对游戏的片面看法,为电子游戏的发展起到推动作用;据日本新闻网报道,德国马克斯普朗克进化人类研究所发布的一项研究报告称,超级玛丽游戏可以促使人类大脑的某些部位更为发达。这一研究成果可能对今后的阿尔兹海默氏症,脑部某些部位萎缩等精神症状的治疗有所帮助;马里奥的金字招牌帮助任天堂连续五年蝉联日本年末圣诞商战冠军的宝座,充分证明其具有的左右业界局势的市场号召力 [2],除了游戏本身具有很好的教育意义外,利用 Java 设计研发“ 超级玛丽”的过程也具有重大的意义。总的概括有如下三点:(1)在个人知识拓展方面。通过参与本次课题的设计,进一步巩固所学的 Java 语言编程技术。通过软件的开发,我巩固了 Java 语言等相关专业知识,并且设计过程中查阅大量的资料,进一步丰富了自己的知识,拓展了自己的视野。通过软件的调试,初步掌握了部分调试的方法,并且调试能够按照软件工程的要求进行规范化测试。(2)在个人能力提升方面。实践出真知,针对自己以往学习往往只注重书本理论知识而忽视了动手实践的诟病,希望通过参与该课题,能够提高自己的程序设计水平、编程水平和动手调试水平,成功完成将个人知识升华为能力的过程。(3)在课题借鉴意义方面。利用 Java 语言重新设计编写经典游戏 “超级玛丽”,可太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸1以研究与探讨游戏开发过程中主要技术问题,并且增加人们对 Java 技术在桌游戏开发方面的认识,同时也对其他经典游戏的重新编写设计具有重要的借鉴意义。1.3 课题研究内容分析研究了 Java 语言的特点及其实用性,并对游戏编写进行了可行性分析,确定了其市场需求性,在此基础上,重新设计开发了超级玛丽游戏,阐述了游戏的总体设计、详细设计以及相关的关键技术,并对课题进行总结,得出相应结论和对今后的研究方向的展望。论文的结构如下:第一章:介绍本课题的研究背景、研究意义,以及本文主要内容和结构安排;第二章:针对课题的实际情况,对设计开发过程中所用的相关技术做了大致的介绍;第三章:在现有技术和条件的前提下,对课题开展的可行性分析并得出相关结论;第四章:详细地分析了系统具体的实现过程,包括开发工作、游戏素材管理、游戏场景布置、游戏用例图、游戏状态图、游戏时序图以及游戏类图;第五章:将新设计开发的 Java 版本超级玛丽运行测试,检查游戏设计是否完善,并在运行过程中截图做相应的程序说明;结论:总结本文所做工作,并对后续的工作和研究方向做了展望。太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸22 可行性分析2.1 经济可行性分析目前市场上基于 Java 的超级玛丽游戏相对较少,因此,相对市场竞争就相对小得多。设计开发整个游戏所需支出部分为寝室的电力消耗和设计人员的时间,完全可以承受。试营业单位可以优先选择学校的论坛或者公共主页对其进行宣传试用并可获得相应的修改意见,线上的宣传和后期的调整调整工作完全可以个人独立完成,极大地节约了经济费用。低成本、高效率、响应时间短将会成为本游戏立足于长期发展的支柱,很快会实现盈利的状态。此外,还可以借助其他的营销模式开展以此游戏为基础的一系列的营销活动,将其做大做好。综上所述,此次设计研发的 Java 超级玛丽具有市场前景好,成本低,收益快的优势,在经济上是可行的。2.2 技术可行性分析重新设计的 Java 版本的超级玛丽可以完成基本的前进、后退、跳跃、顶金币、吃蘑菇并变大,发子弹打怪物等功能 。所建议的系统是基于 Android 手机系统的平台,结合 java 技术而建立的信息搜索平台 [4]。图形的处理更加逼真,马里奥主人公的形象有大的改观,游戏的关卡会更加复杂;掌上操作,随处都可以玩,有利于提高系统的效率;能实现数据交互,能够给广大游戏爱好者带来较多便利,打发无聊的时间。Eclipse 作为 Java 程序的开发工具,是一个开源软件,插件比较多,大多数企业用它来做开发,是目前最流行的 Java 开发工具。它集成有比较多而且比较容易使用的类,在新建类的时候也方便继承其他类 [22]。而且 Eclipse 具有极为高效的 GUI、先进的代码编辑器等,其项目包括许多各种各样的子项目组,包括 Eclipse 插件、功能部件等。任何人都能够轻易的将自己的软件做成 Eclipse 的插件,而且这些插件只需简单的复制到 Eclipse 的插件文件夹下就可以被集成。主要采用 Swing 界面库,支持多种本机界面风格。另外很重要的一点是,Eclipse 具有多种数据库支持 [23,24]。2.3 系统性能需求分析一个系统的好坏与它的性能直接相关,对一个系统进行性能需求分析是在系统设计中是必不可少的一个阶段。所谓系统性能需求分析就是对系统需求中的各项性能指标进行分析,分析每项性能指标是否达到系统的要求,以提供一个稳定的,可靠的实用系统。对于基于 Java 的超级玛丽游戏来说,需要对系统的以下性能进行分析:(1)实用性:系统操作要求简单,界面友好,用户不需要经过培训或者只需要经过简单的培训即可熟练地使用。(2)美观性:系统的开始界面以及运行中的界面需要美观,避免人物及背景颜色和样式的设计过于单调而无法对游戏玩家产生足够的吸引力。此外游戏中人物变化时的过太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸3度效果要好,对比性要强。(3)故障率:游戏运行时发生故障的频率要低,而且这些故障都必须能够及时进行修复,此外游戏进度的存储不可丢失,尽量避免因游戏故障率带来游戏玩家的差评。(4)可维护性:系统能够定期地对数据进行备份,当发生故障时,可以从另外的服务器中将数据进行恢复。(5)可扩展性:当系统需求发生改变时,如增加新的功能,在对系统功能模块扩展时,不会影响客户端的使用。(6)响应时间:系统在加载和运行时需要及时地做出响应,不能延迟太久,较短的响应时间将对游戏的推广带来极大的效率,在等待的时候也需要有进度提示。太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸43 相关技术研究3.1 开发工具及环境3.1.1 Java 语言Java 是一种跨平台的程序设计语言,它属于面向对象型的,它由 Sun 公司于 1995 年推出 [3,4,5,6,7],被美国著名杂志评为 1995 年十大优秀科技产品,这是因为,传统的软件往往与具体的实现环境相关,一旦环境改变就需要对软件进行一番改动,而Java 编写的软件能在执行码上兼容,这样,只要计算机提供了 Java 解释器,用 Java编写的软件就能在其上运行。Java 包括三个版本:J2SE、J2ME 和 J2EE,分别面向普通用户,移动用户和企业用户。Java 语言具有如下众多的优点:简单性:这是 Java 的显著特点。编程简单是每位应用开发者所希望的。Java 很接近 C++,但它摒弃了 C++很多难用和几乎不用的功能。Java 不支持运算符重载、多态继承及广泛自动强制等功能,而增加了内存空间自动收集(即自动分配和释放内存空间)功能。此外,Java 很小,它的基本解释类支持部分只占 40 K 字节,附加的基本标准库和线程也只需 175 K 字节,所以应用软件可以在相当小的系统上独立工作 [8,9]。分布性:Java 是专为网络设计的。为了支持 Internet 中的 TCP/IP 协议和 FTP 协议等,Java 提供了附加的例程。 Java 应用程序能自由地打开和访问网络上的对象,就象这些对象在本地的文件系统中一样 [9,10]。高安全性:Java 的安全机制分为好几层。 Java 编译器保证源代码不能违反安全性原则,Java 字节代码在运行前要经过一个确认过程;加载器保证从网络或文件系统被加载的软件不违反名字空间和访问限制。Hot Java 浏览器提供一种安全对话机制,可为 Java 应用程序的下载提供配置策略,如让用户声明一道防火墙,进行文件保护和网络安全检查等。通常用户从 Internet 上下载文件时,要冒感染病毒的风险。文件的源发站无法提供保护,因为病毒是被外人注入的,在编译好的代码中难以探测。Java 的Applet 不会被写入用户的硬盘,也不会访问用户的文件或随意查看内存,它也不会加入到用户的 C 或 C++程序中,也不访问别的 Java Applet,从而减少病毒感染的机会 [11]。根据字节代码从网上何处来的信息,还可以判断它是来自防火墙内还是防火墙外。Java 还具有公开密钥技术,所以它可用于银行或其它需要高安全性的地方 [9,12]。解释性:Java 是一个解释性语言。连接过程非常简单,所以便于开发 Applet(或者Java 应用程序) 。多线程:多线程程序设计比较复杂,线程间的同步需仔细考虑。由于 Java 有一套同步原语,它采用监视规则和指示灯规则,对多线程的设计者有很好的支持。由于Java 应用可以是多线程的,故具有良好的交互性和实时性 [9]。结构无关性:Java 字节代码是一种中间码,可以在任何机器上解释运行。目前,在个人计算机市场上,应用软件商要为不同的计算机开发同一软件的不同版本。而Java 软件可运行于不同的平台,因此一个 Java 应用软件只要一个版本就可以了。所以太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸5Java 应用软件具有很好的可移植性 [13,14]。另外 Java 没有 C++那样的版本不匹配问题,如操作系统的版本升级了,应用软件也要更新。但它也有它的缺点,就是执行效率不如其他本地语言,如 C/C++等,但随着硬件的迅速发展,这些差别也变得越来越不明显了 [15,16,17]。3.1.2 Eclipse 环境Eclipse 是开发 Java 程序最为常用的开发环境,首先它也是跨平台,因为它本身就是使用 Java 语言开发的 [13]。由于 Eclipse 支持许许多多的插件,因此它功能很强大,智能度很高,能对代码的错误及时准确判断并给予提示。虽然 Eclipse 是采用 Java 语言开发的,但它作为开发环境不仅限于 Java,目前还能支持 C/C++等语言 [18]。Eclipse 是开源程序,除了 Eclipse 之外,还有它的商业版本 MyEclipse,其主要用于企业软件的开发,如 Java web 的开发 [19]。3.2 面向对象程序设计面向对象程序设计(Object Oriented Programming,OPP)[20]是计算机编程的一种架构。面向对象程序设计基本原则是程序是由一个或多个对象组成的。面向对象程序设计实现了软件工程三个基本目标,即重用性、灵活性和可扩展性[21]。由于面向对象的架构近似于人类思想,因此面向对象程序设计是目前绝大多数应用程序所采用的编程思想,其中 Java 语言就是面向对象的程序设计语言。3.3 C/S 结构与 B/S 结构C/S(Client/Sever)结构即客户机/服务器结构。它是软件体系结构,通过它可以充分发挥客户端和服务器两端硬件环境的优势,以降低系统的开销。目前绝大多数应用软件都是采用 C/S 结构,如我们常用的 QQ 聊天工具,也是采用这种结构。客户机和服务器常常分别位于距离较远的两台计算机上,客户机程序的任务是将用户的请求提交给服务器程序,服务器程序通过处理客户机的请求并向客户机反馈请求的结果,客户机再把结果以特定的形式显示给用户 [16,17]。B/S(Browser/Server )结构即浏览器/服务器结构。在基于 B/S 的远程监控系统中,最关键的就是生产设备、服务器、客户之间数据的交互,系统只传送与用户的要求有关的数据更新,传输延迟需要被控制在最多数秒钟之内。该系统结构适应了工业在网络化中的要求,正被广泛应用起来 [16]。太 原 理 工 大 学 毕 业 设 计 (论 文 )用 纸64 系统设计与实现4.1 开发工作Java 版超级玛丽游戏的开发主要分为整理游戏图片素材以及游戏代码编写两部分:(1)游戏图片素材整理包括对游戏中所有需要出现的游戏元素的对应图片进行整理,为了实现主要游戏功能,我们仅剪取有关超级玛丽奥,蘑菇怪和食人花等游戏怪物的动作图片,以及游戏场景中的各种砖块和水管的贴图,以及每一关卡的背景图片,将这些图片统一放到程序源文件夹下,并在程序中指明存放路径,方便程序在初始化和运行过程中随时载入和绘制这些图像,为玩家展现出超级玛丽的游戏界面。(2)游戏代码编写工作的主要任务是在建立对超级马里奥游戏的游戏流程的认识基础上,先实现有关游戏中各游戏要素对游戏事件的相应办法后,初步实现游戏数据模型已经对应的游戏数据处理模块、游戏资源加载方法等程序代码模块,最后整合到游戏主题框架中由负责展现游戏界面的控制类进行管理使这些模块协调运作。4.2 游戏素材管理游戏素材管理的工作主要包括游戏界面和角色动画图像的管理。游戏中出现的所有图片文件将统一放入一个负责管理程序静态资源的类文件进行存储,以方便随时调用。在本游戏中,存放各种游戏图像的静态类是 StaticValue,这个类中包含了许多BufferedImage 类的图片对象,之所以选择用 BufferedImage 对象来保存图像是因为这个文件操作类对象支持对许多格式的图片的读取和存储,在读入外部图像资源时只用简单调用 ImageIO.read(new File(“XXX”))的方法就可以完成将图像进行序列化存入到BufferedImage 对象中,并可以将该对象作为参数传入到程序执行时调用的其他方法中进行处理后绘制到游戏窗口的画布上。在 StaticValue 类中,我们选择用 BufferedImage类型的 List 来保存有关 Mario,蘑菇怪和食人花等游戏角色和游戏物品的不同状态下的游戏贴图,当游戏运行过程游戏角色的状态发生变化时需要重新绘制时,可以通过获取角色所属的 List 对象中该角色的目标对象的 BufferedImage 实例中的信息,实现对游戏角色的及时重绘,保证了游戏的连贯性。这种做法类似其他游戏项目中对主要固定游戏元素进行保存和记录的配置文件config 或者 xml 文件,即实现一个文件部署描述符的作用,因为往往游戏在开发过程中,有很多还未出现的游戏元素,往往游戏的开发者不能预知到这些情况。因此实现一个存放游戏元素的特征表来布置已知和将要添加的游戏元素的主要信息,这种文件部署描述符有标准的格式,在开发和部署环境中可供移植的,静态数据文件表除了为游戏开发和部署的协同提供一个标准的属性单外,也影响到游戏执行过程中有关游戏事务和状态的正确性原则。因此,一个好的游戏文件部署描述符型文件对游戏的设计是至关重要的。
    展开阅读全文
    1
      金牌文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:基于JAVA的超级玛丽设计与实现.rar
    链接地址:http://www.gold-doc.com/p-116464.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们
    copyright@ 2014-2018 金牌文库网站版权所有
    经营许可证编号:浙ICP备15046084号-3
    收起
    展开