坦克大战 毕业设计报告.docx
《坦克大战 毕业设计报告.docx》由会员分享,可在线阅读,更多相关《坦克大战 毕业设计报告.docx(31页珍藏版)》请在冰豆网上搜索。
![坦克大战 毕业设计报告.docx](https://file1.bdocx.com/fileroot1/2023-1/25/456917bd-25dc-4fa2-bc0c-12059c57f9de/456917bd-25dc-4fa2-bc0c-12059c57f9de1.gif)
坦克大战毕业设计报告
本科毕业设计(论文)
题目基于jsp的坦克大战游戏的设计与实现
学院名称 信息学院
专业班级 计科(高职)10-1
学生姓名 郭建建
导师姓名 贾瑞祥
二○一四年五月二十八日
齐鲁工业大学本科毕业设计(论文)原创性声明
本人郑重声明:
所呈交的毕业设计(论文),是本人在指导教师的指导下独立研究、撰写的成果。
设计(论文)中引用他人的文献、数据、图件、资料,均已在设计(论文)中加以说明,除此之外,本设计(论文)不含任何其他个人或集体已经发表或撰写的成果作品。
对本文研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示了谢意。
本声明的法律结果由本人承担。
毕业设计(论文)作者签名:
年 月 日
齐鲁工业大学关于毕业设计(论文)使用授权的说明
本毕业设计(论文)作者完全了解学校有关保留、使用毕业设计(论文)的规定,即:
学校有权保留、送交设计(论文)的复印件,允许设计(论文)被查阅和借阅,学校可以公布设计(论文)的全部或部分内容,可以采用影印、扫描等复制手段保存本设计(论文)。
指导教师签名:
毕业设计(论文)作者签名:
年 月 日 年 月 日
1.2国内外游戏发展状况……………………………..…………………5
1.2.1与欧美对比…...……………………………………………………5
1.2.2与韩国对比………………………………..………………………5
1.2.3与日本对比………………………………….…………………….5
1.2.4我国国内的发展状况……………………………….…………….6
5.1游戏窗口设计.........................................17
5.2TankClieng类基本功能分析.............................18
5.3Explode类基本功能分析................................20
5.4Missile类基本功能分析................................22
5.5PlayMusic类基本功能分析..............................24
5.6Tank类基本功能分析...................................26
5.7本章小结..............................................
第六章程序创新点………………………………………..27
6.1双缓冲技术…………………………………………………….…27
7.1总结……………………………………………………………..…..28
7.2不足之处………………………………………………………..…..29
7.3展望…………………………………………………………………29
摘要
坦克游戏是一款众所周知的休闲游戏,在网络日益发达的今天,网页游戏为我们提供了很好的放松空间。
本游戏是在MyEclipse平台上开发调试,运用服务器Tomcat,网页界面的结构设计以实用性出发,具有易于操作、简洁、方便等特点。
本文采用MyEclipse平台开发调试。
玩家坦克的运行是通过键盘响应事件控制,获取小道具,敌方坦克则是自动运行并具有了一定的智能性。
子弹打中敌人,敌人爆炸,同样敌人也能移动,也能放子弹,敌人坦克数为0打完进入下一关,还加入了游戏声音。
玩家的坦克消灭敌方坦克后,会随机生成物品,玩家的坦克吃了可以补充血量,发射超级炮弹,还可以加快速度。
本论文第一章是介绍国内外游戏的发展状况,以及它的意义和其他开发游戏的区别,第二章介绍一些游戏编程的技术和原理,第三章是系统分析与设计,对坦克大战游戏戏有一个总体的设计,第四章室系统功能与实现,游戏具体实现都在这章,最后总结
关键词:
坦克大战JAVAMyEclipseJSPservlet
ABSTRACT
Thetankgameisagameofleisureaseveryoneknows,developed networkincreasinglytoday, Webpage gamesprovidea goodrelaxing spaceforus. Thisgameis developinganddebugging onMyEclipseplatform, usingthe Tomcatserver, thestructuredesign Webpage interface topracticality, hasthecharacteristicsof easyoperation, simple, convenient.
MyEclipseplatform debugging usingthis. Gameplayer'stankis controlledbykeyboardresponseevents, gets props, anenemytankisoperatedautomaticallyand hascertainintelligence. Thebullethitthe enemy, theenemy bombing, thesame enemycan move, can putthebullet, theenemytank number0 played intothenextCommissioner, hasalsojoinedthe gamesound.
Thefirstchapterofthethesisis tointroducethedevelopmentof domesticandinternationalgames, andthedistinctionbetween itssignificanceand other gamedevelopment, thesecondchapterintroducesthe technology andprincipleofsome gameprogramming, thethirdchapteristhe systemanalysisanddesign, anoverall designofthe game play, thefourthchapter room systemfunctionandtherealization, thegame specificimplementation inthis chapter, thefinal summary
Keywords:
tank;JAVA;MyEclipse;Jsp;serverlet
第一章绪论
1.1课题背景和意义
游戏软件是计算机诞生之后就开始有的产物,有最开始的单机版游戏逐渐发展为大型的网游,但是随着整个行业新生模式的诞生,游戏也在向着小型互动的SNS型转变,这样的游戏有着互动性强,直接在网页中运行,用户体验较简单容易。
《坦克大战》(Battle City)是1985年日本南梦宫Namco游戏公司在任天堂FC(FamilyComputer)平台上,推出的一款多方位平面射击游戏。
游戏以坦克战斗及保卫基地为主题。
大部分80后的青年人曾经都玩过这款FC平台上的经典游戏,FC平台上的坦克大战只能两个人协同作战。
本系统运用Java这个跨平台的编程语言,重新实现这一款经典游戏,探究曾经这一款经典游戏的大概设计与实现,并且加入坦克八个方向的行走,双人模式,使游戏的玩法更丰富。
1.2国内外游戏发展状况
想要比较客观的认识中国的游戏教育现状首先就要对世界上游戏产品比较发达的地区进行一定的了解,在这些地区存在的游戏教育模式与形式都是我们非常好的教科书。
为此,我特地收集整理了一些资料,罗列出来并与国内的情况加以对比,以便让大家能够更加深入的了解到目前游戏教育的发展情况。
1.2.1与欧美对比
因此欧美的游戏制作人才相对来说有更高的起点和基础能力,也正是因为这个原因,因此欧美专业的策划人才相对较少,欧美的策划人才基本是由程序员转型而成的,这也是欧美的游戏制作在背景创意方面极少具有突破的原因之一。
1.2.2与韩国对比
由于韩国面积有限,加上对游戏制作几乎是倾力支持,因此韩国的游戏开发也是一个飞跃的过程,而之所以在这个过程中没有出现中国现在出现的人才断层,是因为韩国游戏开发者之间的沟通交流及资源共享要比国内强很多倍。
这样可以从整体上提升所有游戏制作者的能力,而在中国,虽然也想要这么做,但可行性会相差很多。
韩国同样有面向游戏制作的职业培训机构,不过由于功利问题和类似国内的浮躁心态,韩国也有很多人才方面的问题。
相比两三年前,韩国游戏研发群体的整体心态已大不如前了,考虑到本文的着重点,在此略过不提。
由于韩国经历了一个类似的发展过程,因此国内机构在引入外来师资力量和课程体系时,可以适当考虑韩国的一些情况,当然由于跨度较大,可能会付出相对高昂的代价。
1.2.3与日本对比
日本几乎所有的游戏公司都与某所大学达成了人才培养的合作协议,不论任天堂还是SEGA,也不论是早稻田大学还是东大等,游戏公司与大学之间有千丝万缕的联系,可以说日本很少有游戏制作爱好者,只有极为庞大的游戏爱好者。
不过与欧美相比,日本存在有不少面向游戏制作的职业培训机构,这应当与日本人就业压力大和整体民族压抑性有关,其中主要的培训方向也是程序和美术。
1.2.4我国国内的发展状况
网络游戏对全世界都是一种新兴产业,所有国家都处在同一个起跑线上。
我国网络游戏已经形成了相当的规模,显示出强劲发展的良好趋势。
1、资本形成集聚
随着中国网络游戏行业的市场不断壮大,一大批网络游戏公司成功上市,通过融资获得企业发展所需资金;风险投资等社会资本也通过各种方式涌入网游行业,使得网络游戏行业资本积累迅速增加;一些大公司通过并购进入网游领域,例如中华网游戏集团对17game和光通的并购;在网游行业内部,盛大、腾讯等行业领先者不断投入巨资,大规模开发网络游戏新产品,谋求长期稳定发展。
大量资本的涌入,满足了网络游戏企业的资金需求,集聚了人才、技术等优质资源,极大地拓展了网络游戏产业的发展空间、加快了网络游戏发展速度。
2、研发力量增强
在中国政府实施“中国自主研发网络游戏出版工程”等一系列鼓励和推动国产民族原创游戏出版政策推动下,中国原创网络游戏从2005年开始,连续占据国内网络游戏60%以上的市场份额,“中国创造”的网络游戏已经成为中国游戏产业的支柱。
截至2008年10月,中国网络游戏研发公司数量已达131家,比2007年增长了4%,中国网络游戏研发从业人员数量达到24768人,比2007年增长了17.8%,整体研发实力增强。
3、新型游戏崛起
近年来,由于大型MMORPG游戏的新鲜感日益下降以及上班族的时间限制,网络休闲游戏应运而生,主力厂商的积极推进以及玩家对休闲游戏的青睐成就了休闲游戏的大好局面。
网络休闲市场得到了进一步的细化,形成了音乐舞蹈、体育类、竞速类、射击类等各种细分市场,具有鲜明的特色,如久游网的《劲舞团》在相当时间内位居国内游戏人气榜前茅。
以虚拟社区游戏和网页游戏为标志的新的游戏类型开始试水中国网游市场。
在虚拟社区游戏市场,三个本土的虚拟世界Hipihi、Novoking、Uworld已经开始了战略布局,正在为将来的竞争做准备。
另外,网页游戏也将是游戏市场的一个热点,凭借其进入便捷、不用下载客户端等特点,将吸引大量的用户群,目前已受到运营商更多的关注。
4、盈利模式创新
广告成为新的赢利增长点。
网络游戏和广告被巧妙地结合起来,游戏植入式广告在国外已经迅猛发展。
在国内也开始崭露头角,网络游戏媒体化的商业价值,越来越受到网络游戏行业、广告业界和广告主的认同。
2007年,我国互联网用户数达到2.3亿,其中17.2%以上为网络游戏玩家,且以18岁到34岁的年轻人为主,这些人不仅是网络游戏的生力军,更是时尚消费品的主要消费者。
IGA可以凭借更直接、更形象的优势传达广告的传播意图,盛大、分众等游戏和广告领域的领先企业已经积极介入IGA领域。
可以预见,IGA将成为网络游戏业未来的盈利亮点。
5、国际化运用
随着网龙、金山等公司在海外市场的成功运营,一批具有自主研发实力的中国网络游戏企业将经过国内市场检验、取得成功的产品进军海外市场,使海外市场销售收入大幅提高。
国内的厂商还通过加强与国际开发商的合作进行游戏开发,共享双方的技术和经验,并参与全球分成。
典型的案例如:
盛大收购韩国Actoz、盛大投资NCsoft中国子公司,EA参股九城等资本层面的合作,这意味着中国游戏产业已经对世界网络游戏格局产生了不可忽视的影响。
网络游戏作为一种全新的产业,在国际、国内正以前所未有的速度迅速发展,具有广阔的市场前景,据IDC预计,到2012年仅中国网络游戏市场销售收入将达到262.3亿元人民币。
我国应进一步明确发展战略,集成力量,以更加积极的姿态迎接挑战、抢抓机遇,使网络游戏成为推动国家经济发展的新增长点。
1.3章节安排
第一章是介绍国内外游戏的发展状况,以及它的意义。
第二章介绍一些开发技术,为本系统后期实现做了理论支持
第三章是游戏设计的原理及技术,对游戏设计有了一定的了解。
第四章室系统设计与实现,游戏具体实现都在这章,最后总结
第二章开发技术概述
2.1系统运行环境
(1)网络服务器操作系统:
Windows 7;
(2)开发工具:
Myeclipse8.5;
(3)运行环境:
J2SDK 1.6;
(4)编程语言:
Java语言;
2.2JAVA语言的特点
Java语言的流行除了因为它能够编制嵌入HTML文件中的Applet外,还在于Java语言本身的面向对象、简单、平台无关性、安全性、多线程等特点java语言的结构与编写方式,与c++语言类似,因此学习Java语言,不仅要了解Java语言特点,同时还要有程序设计基础和面向对象的概念。
java语言的特点如下:
Java语言的特点一:
简单、高效
Java语言与C++类似,如果用户了解C++和面向对象的概念,就可以很快编写出Java程序;此外,Java又不同于诸如C++语言提供的各种各样的方法,它只提供了基本的方法,这样就减少了编程的复杂性,例如去掉了头文件、指针变量、结构、运算符重载、多重继承等复杂特性。
Java语言虽然简单,却很高效,它可以用面向对象的方法来描述用户的每一个动作。
Java语言的特点二:
面向对象
Java语言是一种新的面向对象的程序设计语言,它除了几种基本的数据类型外,大都是类似c++中的对象和方法,程序代码大多体现了类机制,以类的形式组织,由类来定义对象的各种行为。
Java同样支持类继承,这样也减少了程序设计的复杂性。
Java语言的特点三:
平台无关性
Java语言经编译后生成与计算机硬件结构无关的字节代码(Bytecode),这些字节代码被定义为不依赖任何硬件平台和操作系统。
当Java程序在运行时,需要由一个解释程序对生成的字节代码解释执行。
这体现了Java语言的与平台无关性,使得Java程序可以在任何平台上运行,如MS-DOS,Windows,Unix等,因此具有很强的移植性。
Java语言的特点四:
交互式特性
Java是面向对象的网络编程语言,由于它支持TCP/IP协议,使得用户可以通过浏览器访问到Internet上的各种动态对象。
并且在网络上用户可以交互式地进行各种动作,而多线程技术的引入使得这种交互式操作更为容易。
Java语言的特点五:
多线程机制
Java语言支持多线程机制,多线程机制使得Java程序能够并行处理多项任务。
Java程序可以设计成具有多个线程,例如让一个线程负责数据的检索、查寻,另一个线程与用户进行交互,这样,两个线程得以并行执行。
多线程机制可以很容易地实现网络上的交互式操作。
Java语言的特点六:
动态的内存管理机制
Java语言采用了自动垃圾回收机制进行内存的管理。
在C++语言中,程序员在编写程序时要仔细地处理内存的使用,例如当某个内存快使用完毕时,要及时释放,以供其它程序使用,一旦内存管理不当,就有可能造成内存空间浪费或程序运行故障。
在Java系统中包括了一个自动垃圾回收程序,它可以自动、安全地回收不再使用的内存块,这样,程序员在编程时就无需担心内存的管理问题,从而使Java程序的编写变得简单,同时也减少了内存管理方面出错的可能性。
Java语言的特点七:
安全性
在类似Internet的这种分布式网络环境中,安全性是个不容忽视的问题。
Java语言在安全性方面引入了实时内存分配及布局来防止程序员直接修改物理内存布局;通过字节代码验证器对字节代码的检验,以防止网络病毒及其它非法代码侵入。
此外,Java语言还采用了许多面向对象的异常处理机制,负责对一些异常事件进行处理,如内存空间不够,程序异常中止等的处理
以上介绍了一些主要Java语言的特点,除此之外它还具有动态性、类库丰富、高性能等特点,这些都使得Java语言在各个方面得以成熟和完善,成为大众日益青睐的程序设计语言之一。
2.4关于jsp
JSP是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态技术标准。
在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标签,就构成了JSP网页。
Java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态网站所需要的功能。
所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支持Java,也可以访问JSP网页。
JSP全名为JavaServerPages,其根本是一个简化的Servlet设计,他实现了Html语法中的java扩张(以<%,%>形式)。
JSP与Servlet一样,是在服务器端执行的。
通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户端。
插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
通常JSP页面很少进行数据处理,只是用来实现网页的静态化页面,只是用来提取数据,不会进行业务处理。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
JSP(JavaServerPages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。
JSP页面由HTML代码和嵌入其中的Java代码所组成。
服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。
JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
2.5本章小结
在本章中首先介绍了该系统的运行环境,需要注意的是软件环境的配置,因为整个系统都是在虚拟环境下运行的,所以虚拟环境对整个设计的调试和运行至关重要,还对java语言和jsp做了简单的介绍,为本系统后期实现做了理论支持。
第三章游戏设计的原理及技术
游戏的可玩性是游戏所包含的交互性的程度及特点,就是玩家与游戏世界及游戏世界对玩家的选择作出反应的方式。
游戏设计就是定义游戏可玩性的内容。
游戏设计决定了玩家可以在游戏世界中做出什么选择,并且这些选择会在游戏的其余部分造成哪些不同的结果。
游戏设计决定了游戏中胜利或失败的标准,用户可以控制游戏的方式,决定了游戏可以向玩家所传达的信息,并且可以决定游戏的难度。
简单地说,游戏设计决定了游戏可玩性实现过程中的每一个细节。
3.1游戏概述
3.1.1游戏概念
荷兰学者胡伊青加在《人:
游戏者》中对游戏定义为:
游戏是一种自愿的活动或者消遣,这种活动或消遣是在某一固定的时空范围内进行的,其规则是游戏者自由接受,但又有绝对的约束力,游戏以自身为目的而又伴有一种紧张、愉快的情感以及对它“不同于日常生活”的意识。
胡伊青加概括了游戏的四个特征:
(l)
它是自主的,实际上是自由的;
(2)游戏“平常的”或“真实的”生活;(3)它的隔离性,它的有限性,它在特定范围的时空中“演出”,它包含它自身的过程和意识;(4)它制造秩序,它就是秩序.
3.1.2游戏类型
动作(Action)
单纯的动作游戏较为罕见,因为动作是一个广义上的类别。
最初,具有关卡设计特性的横版过关游戏都可以称其为动作游戏。
但随着动作游戏的多极化,动作游戏逐渐分成了多个小类。
现在动作游戏均指传统的过关式动作游戏,或不强调射击的动作游戏。
超级玛丽、洛克人、银河战士、刺客信条
射击(Shooting)
射击游戏(Shooting)带有很明显的动作游戏特点,因为要控制的角色和物体基本处于运动状态,而且“射击”本身也是动作的一种。
概括来说,没有纯然的射击游戏,因为射击必须要经过一种方式来呈现它的“射击”,所里不论是用枪械、飞机,只要是进行射击动作的游戏都可以称之为射击游戏。
格斗(Fight)
格斗游戏(Fighting)。
这类的游戏具有明显的动作游戏特征,并且很好分辨,画面通常是玩家两边面对站立并相互作战,使用格斗技巧使击败对手来获取胜利。
这类游戏通常会被强烈要求的精巧的人物与招式设定,以达到公平竞争的原则。
另外则是有些同类型的游戏注重拳脚的比试,而有些就使用兵器。
此外格斗游戏尚有2D、2.5D以及全3D,不过几乎所有的格斗游戏的游戏方式都相同。
除了一点小差异,那就是3D格斗游戏由于视角会转换,不能再使用往后的按键作为防守,所以大多设有专用的防守键。
冒险(Adventure)
冒险游戏(Adventure)。
这类游戏几乎只在PC电脑上发展,并且是电脑游戏最初发展的类型之一,在大约1980-1990年之间这类游戏发展到颠峰。
在当初的电脑效能远远逊于现在的电脑,并不能做精细的画面处理,因此以文字为主的冒险游戏便大行其道,它不用漂亮的画面也能使玩家拥有丰富的游玩体验。
(1)文字冒险(ClassicAdventure)
文字冒险游戏是传统的冒险游戏,一般为揭秘要素。
由于动作冒险游戏的兴起,老一代文字冒险游戏已经没落。
新兴的文字冒险游戏一般含有恋爱成分,这使得文字冒险游戏可以一直持续下去。
传统:
猴岛小英雄、国王密使、印第安纳琼斯
新兴:
CLANNED、樱花大战
(2)动作冒险(ActionAdventure)
动作冒险游戏是过关式动作游戏3D化后的产物,他们也含有过关、解