俄罗斯方块游戏设计与实现毕业设计论文_第1页
俄罗斯方块游戏设计与实现毕业设计论文_第2页
俄罗斯方块游戏设计与实现毕业设计论文_第3页
俄罗斯方块游戏设计与实现毕业设计论文_第4页
俄罗斯方块游戏设计与实现毕业设计论文_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录封面I目录II毕业论文(设计)任务书III开题报告审阅与评审成绩答辩记录及成绩评定中文摘要引言11绪论211电子游戏及其分类212电子游戏发展现状2121电子游戏在国外的发展现状2122电子游戏在国内的发展现状32可行性研究521设计目的522软件问题定义523可行性分析53需求分析631引言632游戏需求633软硬件需求734接口控制735方案论证7351VB的优点7352C的优点8353JAVA的优点8354方案的选择94概要设计1041游戏设计方案的确定1042系统流程结构设计1143各个功能模块图设计11431模型层MODEL功能模块图设计11432视图层VIEW功能模块图设计12433控制层CONTROLLER功能模块图设计125详细设计1351模型层MODEL设计13511图形的产生13512图形的数据结构13514图形的变形14515存储和表示障碍物14516判断满行及消行1552视图层VIEW设计16521方块的显示16522障碍物的显示1753控制层CONTROLLER设计1754游戏演示18541游戏界面显示18542开始和结束控制菜单18543分数和等级查看菜单19544变换方块菜单19545帮助菜单206系统测试2061游戏界面菜单选项的功能测试2062按键事件的功能测试2163方块堆砌与消行测试2164测试结果分析21结论22致谢23参考文献24毕业论文设计任务书系计算机系专业软件技术班级软件技术1班学生姓名指导教师/职称1毕业论文设计题目俄罗斯方块游戏设计与实现2毕业论文设计起止时间2013年11月26日2014年4月26日3毕业论文设计所需资料(指导教师选定部分)陆惠恩著实用软件工程M北京清华大学出版社黄复贤著俄罗斯方块游戏的敏捷设计与开发M电脑编程技巧与维护朱福喜著JAVA程序设计技巧与开发实例M北京人民邮电出版社赵东跃著俄罗斯方块编程M电脑编程技巧与维护4毕业论文设计应完成的主要内容俄罗斯方块游戏的基本实现,由MODEL层随机生成图形,由VIEW层显示,用CONTROLLER类控制图形是否能旋转是否能下落。还有判断是否消行和添加分数,处理键盘和鼠标时间。图形的变形,移动旋转。5毕业论文设计的目标及具体要求今后还需要完善手动加速和分数达到一定数值时加速的功能。优化UI和添加一个分数榜(需要用到数据库)。任务书批准日期年月日系主任签字任务书下达日期年月日指导教师签字完成任务日期年月日学生(签名)毕业论文设计开题报告一、本课题研究的主要内容、目的和意义(一)本课题研究的主要内容本次的开发内容基于JAVA的俄罗斯方块游戏就是游戏与JAVA编程语言相结合的例子。俄罗斯方块是一款风靡全球的电视游戏机和掌上游戏机游戏,它曾经造成的轰动与造成的经济价值可以说是游戏史上的一件大事。这款游戏最初是由苏联的游戏制作人ALEXPAJITNOV制作的,它看似简单但却变化无穷,令人上瘾。相信大多数用户都还记得为它痴迷得茶不思饭不想的那个俄罗斯方块时代。从游戏的基本玩法出发,主要就是俄罗斯方块的形状和旋转,我在设计中在一个图片框中构造了一些的网状小块,由这些小块组合成新的形状,每四个小块连接在一起就可以构造出一种造型,因此我总共设计了7中造型,每种造型又可以通过旋转而变化出2到4种形状,利用随机函数在一个欲览窗体中提前展示形状供用户参考,在游戏窗体中用户就可以使用键盘的方向键来控制方块的运动,然后利用递归语句对每一行进行判断,如果有某行的方块是满的,则消除这行的方块,并且使上面的方块自由下落,最后就可以得出用户的分数。本游戏欲实现具体任务如下1游戏的开始,停止,暂停,继续根据用户单击的按钮(开始,停止,暂停),游戏实现具体相应的功能。2游戏难度的调整用户可以通过TURNHARD和TURNEASY来调整游戏的难度。级别越高,方块下落的速度越快。3下一个方块和游戏难度,游戏得分的显示这些功能放置在PLAY按钮的上方,通过它们,用户可以看到游戏下一个方块的显示,游戏难度,和当前得分。4游戏主屏游戏主屏主要用来输出用户对方块的控制和游戏当前的进度。5方块颜色,主屏背景颜色的设置这些功能是在菜单栏CONTROL的子菜单中,可以让输出的方块以用户的喜欢的颜色输出等等。6界面的几种风格在游戏菜单栏中的WINDOWSTYLE中,提供了三种风格供用户选择。(二)本课题研究的目的和意义那么研究基于JAVA的俄罗斯方块游戏有什么意义呢在成为一个真正的游戏开发者的路上,俄罗斯方块是一个完美开始。为什么因为它包括任何一个游戏中所有的元素。并且,不需要艺术家般的才能就能做出非常好看的俄罗斯方块游戏。任何一个能画出方块的人每个作图形程序的人都会的就能做出商业品质的俄罗斯方块游戏。以俄罗斯方块开始还有另外一个好处,不仅能做出一个完整的既好玩又容易上瘾游戏,而且它看上来和那些商业版本没什么区别。方块就是方块,不管是谁画出它们的,而且TETRAMINOS(俄罗斯方块中使用的形状)也不过是一些方块的组合。俄罗斯方块拥有所有游戏共通的独立成份。它有一个游戏循环(这个过程被反复执行直到游戏退出)。这个游戏循环读取玩家的输入,处理这个输入,然后更新游戏的元素(下落的TETRAMINOS),并且检查是输还是赢。以后要做的所有的简单的游戏都要用到这些东西,所以学习这个过程并且实现它是非常重要的。当第一次完成它之后,以后再做游戏时就能看出那个游戏有多难以及要花多长时间。如果没有完整的完成过这些,哪怕一次,就永远不能完整地正确领会其中的每个元素。当做大的项目时,就更不能确定其复杂性及所要的时间。如果甚至不能正确地领会这整个过程(因为你没能完成它),可能是没能建立一个合适的时间表或估计合适的时间,更有可能的是不够努力。还有,玩俄罗斯方块可以练习人的反映能力,开始时快速的下降会让人手无足措,但适应了之后就会发现自己的反应力变的很快了。其次长时间的手指活动可以让人血液流通加快有利健康。还有俄罗斯方块高手都知道要想赢,就要有远大的布局,决不能只局限于一点一点的减,这在无形中就提高了人的智慧。二、文献综述(国内外相关研究现况和发展趋向)我对各大网站上俄罗斯方块游戏的认识俄罗斯方块是最早的竞争游戏之一,本人对俄罗斯方块更是情有独中,目前国内几个大的网站的俄罗斯方块游戏都玩过,相比之下还是后起之秀新浪IGAME的俄罗斯方块更胜一筹,不管从界面、功能等方面都很有创新和突破,但就级别方面而言,我觉得还有值得商榷的地方,希望通过此文能引起有关方面的注意一、级别的目的和意义不管那款俄罗斯方块,都是通过对战获取分数,根据分数被授予相应的级别,当然分数越高,级别也越高,这也正是玩家所不懈追求的。级别是荣誉的象征,也是身份的象征,直观明了、优雅动听的级别名称,是游戏成败的关键因素之一。二、目前国内大的游戏网站俄罗斯方块的级别评析1、联众应该说联众是国内最早的网络游戏之一,其俄罗斯方块级别设置是阿拉伯数字式的,一开始是10级,其后随着分数的增加,级别也随之增加。优点是直观明了,缺点是根据级别不易判断玩家的水平。2、中国游戏中心其俄罗斯方块游戏级别是参照部队军衔级别而设置的,如列兵、中尉、中校、中将等,最高为元帅级,其中每个级别又分为A、B、C等几个档次。优点是不但直观明了,也优雅动听,而且根据级别很容易判断玩家的水平。3、腾讯其俄罗斯方块游戏级别是走建筑系列的,开始是学徒,然后雇佣工人、泥土工人,还有工程师、设计师、总监等,最高是鬼斧神工,级别很多。虽然是直观明了,但太复杂,而且对于建筑专业的级别,好多人并不是很清楚。三、新浪IGAME的俄罗斯方块级别目前IGAME的俄罗斯方块级别好像是军衔标志系列的,但又不是,搞不懂、弄不明白,一头雾水。级别不但没有名称,且好多是根据颜色区分的,最高级别要7150720以上,可以说是天方夜谈,望尘莫及、高得玄乎、高得离谱,一般人不奋斗十年、二十年,别想达到。四、分析比较与建议通过以上介绍和分析,个人认为俄罗斯方块级别的划分,最成功的是中国游戏中心,其次是联众和腾讯的,最不敢恭维的是新浪的IGAME,土不土、洋不洋,又脱离实际。唯一有创意的地方级别是根据分数和胜率而定的俄罗斯方块游戏是一款益智游戏。也是一款风行于手机上的游戏。一项新的研究显示,在上学前玩计算机游戏的儿童比不玩计算机游戏的儿童学习成绩好。这项研究是对苏格兰小学生实施的。这项研究把小学生分为几个小组,让这些学生在上课之前玩20分钟的DS游戏机。在玩游戏之后,这些学生在课堂中有显著进步。毫不奇怪,学生用于提高技能的游戏是KAWASHIMA博士脑力训练。这个游戏有许多挑战,包括阅读测试、问题解答训练和谜语等。这些挑战通过增加大脑皮层血液流量来锻炼大脑。经过10个星期的研究之后,这些学生的算术成绩比没有参加试验的学生提高了10。此外,这些学生完成算术考试的时间从原来的17分钟减少到了13分钟。有些学生在保持或者提高成绩的同时还能把完成考试的时间减少一半。这类游戏的发展趋向是1,体积小。2,内容好。3,耐玩。4,娱乐性高。5,无年龄层次。6,能修改难度。7,有益身心健康。手机游戏也开始“浮出水面”。“贪吃蛇”、“俄罗斯方块”这些简单的黑白游戏曾为一代手机用户所熟悉。随着移动通信技术的迅速发展,彩屏手机的日益普及,更加有趣、更为生动的手机游戏层出不穷。手机游戏作为视频游戏领域发展速度最快的部分,正成为业界的新宠,展示出广阔的市场前景。一时间,电信运营商、服务提供商、游戏制作商、手机制造商人人都在谈论手机游戏的光明前景。根据英国一家公司研究公布的统计数据,2003年英国手机游戏市场的产值已经达到587亿美元,比2002年翻了一番。该公司预测,在未来五年内,欧洲市场的手机游戏可望变成价值30亿欧元的娱乐产业。在美国,手机游戏已占到美国无线数据业务销售额的4。预计到2009年,手机游戏用户有望达到7860万,产业销售额将增长至18亿美元。美国的VERIZON无线公司所提供的手机游戏服务项目多达350个,并且还在以每周至少一个的速度更新他们的游戏列表。该公司2003年的JAVA游戏下载业务销售量达到了600万份。摩托罗拉无线技术开发概念小组领导者马克指出,手机游戏产业的发展具有得天独厚的优势。它拥有广泛的潜在用户群,每一个手机使用者都有可能成为手机游戏的下载者。现代生活节奏快捷,人们需要的是更为简短、精炼的游戏方式,它可以帮助人们打发工作之间的空余时间。手机游戏可以说是应运而生。在3G时代,手机作为个人信息和娱乐终端,游戏将是其中一项必不可少的应用,手机游戏市场也存在着巨大的发展潜力。从电脑游戏的发展历史可以看出,从单机游戏到联网游戏的进步既扩大了用户规模,又增加了游戏开发商的收入,甚至形成了一个文化和产业。手机游戏目前也正在朝这个方向发展,手机本身就具有联网的天然优势,而且3G的发展将使网络质量的制约因素大大降低,手机联网游戏将是整个手机游戏市场的激发点。在新的一年里,单机手机游戏找准了正确的发展方向,手机游戏不再是可怜的画质,枯燥的剧情,毫无创意的设计,众多的游戏厂商以精益求精的精神打造优秀手游,“小”游戏也可以做出大文章。从上面可以看出,游戏现在趋于网络游戏,多人游戏,但不可否认,单机游戏也同样将占有一席之地。三、拟采取的研究方法(方案、技术路线等)和实现的可行性论证(一)该课题拟采取的研究方法JAVA是1995年6月由SUNMICROSYSTEMS公司提出的一种革命化语言,与其他编程语一样,这种语言在短短的时间内得到了迅速的发展。由于这种语言具有易用性、平台无关性、易移植性等诸多特征,使得这门语言得到了广泛的应用。而且,这种语言具有有很好的发展景。程序开发费用少,工作效率高,并拥有很好的用户界面和强大的开发工具。网上数据编程体现的非常充分,是其它语言无法做到的。俄罗斯方块游戏设计的主要步骤为以下9个方面(1)游戏界面的设计。(2)俄罗斯方块的造型。(3)俄罗斯方块的旋转。(4)俄罗斯方块的运动情况(包括向左,向右和向下)。(5)俄罗斯方块的自动消行功能。(6)游戏级别的自由选择。(7)游戏得分的计算。(8)游戏菜单选项的设计及功能实现。我开发的俄罗斯方块游戏,主要实现了以下几种功能1可以灵活控制方块在图形框中运动。2游戏过程中方块可以自由旋转。3当某一行的方块排列满时,将自动将这一行方块消除,然后将上面所有方块向下移动,可以支持连续消行。4游戏前可以选择游戏的等级。5游戏的得分支持积分,并且按照一定的公式进行计算。游戏要求随机给出不同的形状(长条形、Z字形、反Z形、田字形、7字形、反7形、T字型)下落填充给定的区域,若填满一条便消掉,记分。游戏功能要求如下游戏界面需求良好的用户界面,有关数显示和分数显示。让方块在一定的区域内运动和变形,该区域用一种颜色表明,既用一种颜色作为背景,最好设为黑色。还需用另一种颜色把黑色围起来,宽度适中,要实现美感。游戏形状方块需求良好的方块形状设计,绘制七种常见的基本图形(长条形、Z字形、反Z形、田字形、7字形、反7形、T字型),各个方块要能实现它的变形,可设为顺时针或逆时针变形,一般为逆时针。键盘处理事件方块下落时,可通过键盘方向键(上、下、左、右键)对该方块进行向上变形,向下(加速)、向左、向右移动。显示需求当不同的方块填满一行时可以消行,剩余方块向下移动并统计分数。JAVA中提供了多种包和各种类,足以完成CONTROLPANEL,ERSBLOCK,ERSBLOCKSGAME,ERSBOX,GAMECANVAS。(二)该课题实现的可行性论证1经济可行性。基于JAVA的俄罗斯方块游戏开发需求比较低,而且还具有成熟的软硬件环境,当游戏开发完实际运行后,在为使用者带来娱乐的同时,也为技术的进一步推广创造了条件。这带来的经济回报将远超过支出,并且最重要的一点是该软件的开发可以给我们对JAVA有个全面的认识,使我们将来能够与社会接轨。2技术可行性。此系统要求用JAVA开发,开发者也都具有开发系统所需的硬件条件计算机一套。JAVA语言具有很多优点JAVA语言是简单的,JAVA语言是一个面向对象的,JAVA语言是分布式的,JAVA语言是健壮的,JAVA语言是安全的。所以JAVA作为实现本系统的技术,它是完全可行的。3操作可行性。由于采用了JAVA强大健全的功能库,游戏程序的人性化设计,使得操作很方便,游戏专门在界面上设计了诸如PLAY,PAUSE,STOP等功能,以方便用户在享受强大功能的同时不会因为烦杂的操作而苦恼。四、预期结果(或预计成果)1熟练掌握JAVA技术开发相关知识的运用;2顺利完成基于JAVA的俄罗斯方块游戏毕业论文;3最终开发出的游戏,能够实现游戏的开始,停止,暂停,继续,游戏难度的调整等功能。五、研究进度安排2月10日2月15日根据课题收集相关资料,进行需求分析,确定游戏的功能模块。熟悉所需的开发环境。2月16日2月31日分解细化毕业设计内容,摸清各子模块的关系。3月01日3月15日根据要求进行软件编程。3月16日3月30日在原形化系统的基础上进行充实、完善合并所有的功能模块,并调试程序,解决问题。4月01日4月15日撰写论文,提交论文。六、主要参考文献1、参考文献目录1罗伟坚著VISUALC经典游戏程序设计M北京人民邮电出版社,200622朱福喜著JAVA程序设计技巧与开发实例M北京人民邮电出版社,200423赵东跃著俄罗斯方块编程M电脑编程技巧与维护,1998年第六期4陆惠恩著实用软件工程M北京清华大学出版社,200655黄复贤著俄罗斯方块游戏的敏捷设计与开发M电脑编程技巧与维护,200546美BRUCEECKEL著,陈昊天译JAVA编程思想M北京机械工业出版社,200767高凌琴,陈青华著俄罗斯方块游戏关键技术探讨M信息技术与信息化研究探讨,2008年第二期8王宇,战学刚,高国伟著计算机算法解决俄罗斯方块中的数学与计算问题M计算机应用与软件,第二十四卷第三期,200739朱福喜,黄昊著JAVA项目开发与毕业设计指导M北京清华大学出版社,2008610郑人杰,殷人昆,陶永雷著实用软件工程M北京清华大学出版社,200411毕业论文(设计)审阅与评审成绩学生姓名班级(专业)软件技术一班系部计算机系答辩时间论文(设计)题目俄罗斯方块游戏设计与实现指导教师评语及成绩(建议从学生的学习态度、工作量、论文(设计)的实用性、规范性与综合运用知识能力等方面给出评价)成绩指导教师签名年月日系评审(答辩)小组意见及成绩成绩评审小组老师签名年月日系答辩委员会审核意见综合成绩主任(签名)年月日毕业论文设计答辩记录及成绩评定学生姓名专业班级软件技术一班毕业论文设计题目俄罗斯方块游戏设计与实现答辩时间年月日时答辩地点一、答辩小组组成答辩小组组长成员二、答辩记录摘要答辩小组提问(分条摘要列举)学生回答情况评判三、答辩小组对学生答辩成绩的评定(百分制)分答辩小组组长签名秘书签名年月日四、系答辩委员会主任签名系部盖章年月日中文摘要在现今电子信息高速发展的时代,电子游戏已经深入人们的日常生活,成为老少皆宜的娱乐方式。但是游戏设计结合了日新月异的技术,在一个产品中整合了复杂的设计、艺术、声音和软件,所以并不是人人皆知。直到今天,在中国从事游戏设计的人仍然很少,但是游戏行业的发展之快,远超如家电、汽车等传统行业,也正因为如此,游戏人才的教育、培养远落后于产业的发展。俄罗斯方块是个老幼皆宜的小游戏,它实现由四块正方形的色块组成,然后存储在一个数组的四个元素中,计算机随机产生不同七种类型的方块,根据计算机时钟控制它在一定的时间不停的产生,用户根据键盘的四个方向键控制翻转、向左、向右和向下操作,(控制键的实现是由键盘的方向键的事件处理实现)。然后程序根据这七种方块堆叠成各种不同的模型。论文描述了游戏的历史,开发此游戏的环境,游戏开发的意义。遵循软件工程的知识,从软件问题定义开始,接着进行可行性研究、需求分析、概要设计、详细设计,最后对软件进行了测试,整个开发过程贯穿软件工程的知识体系。此次设计在MICROSOFTWINDOWSXP系统下,以JAVA为开发语言,在ECLIPSE开发平台上进行游戏的设计与实践。关键词游戏设计;算法;数组;事件ABSTRACTINTHEERAOFHIGHSPEEDDEVELOPMENTOFELECTRONICINFORMATION,COMPUTERGAMEHASENTERPEOPLESDAILYLIFE,BECOMEANAMUSEMENTADAPTTOOLDANDYOUNGBUTGAMEDESIGNISACOMBINATIONOFFASTMOVINGTECHNOLOGY,THECOMPLEXITYOFINTEGRATINGDESIGN、ART、AUDIOANDSOFTWAREINTOASINGLEPRODUCTION,SOTHISTECHNOLOGYISNTKNOWNBYEVERYONEUPTODATE,THEREAREFEWPEOPLEWORKATGAMEDESIGNALLTHESAME,WHEREAS,THEDEVELOPMENTOFGAMEINDUSTRYMOREFASTERTHANTRADITIONALINDUSTRYASHOMEAPPLIANCESANDAUTOMOBILE,BYTHEREASONOFTHISSITUATION,THEEDUCATIONANDTRAININGOFPERSONWITHABILITYOFGAMEDESIGNDROPBEHINDTHEDEVELOPMENTOFGAMEINDUSTRYTHERUSSIANSQUAREPIECEISAGETAWAYDRAMAWITHALLPROPEROLDYOUNG,ITCARRYOUTTOBECONSTITUTEBYFOURPIECESOFCOLORSOFEXACTSQUAREPIECE,THENSAVEINONEFOURCHEMICALELEMENTSOFTHEPIECESET,RANDOMCREATIONDISSIMILARITYOFCALCULATORSEVENTHESQUAREPIECEOFTHECATEGORYTYPE,CONTROLITACCORDINGTOTHECALCULATORCLOCKINCERTAINTIMECONTINUOUSLYCREATION,THECUSTOMERISINSIDEOUTACCORDINGTOFOURDIRECTIONSKEYCONTROLOFTHEKEYBOARD,TOLEFT,RIGHTWARDSANDGETDOWNTHEOPERATION,THEREALIZATIONOFTHECONTROLKEYISTOBECARRYOUTBYTHEEVENTHANDLINGOFTHEDIRECTIONKEYOFTHEKEYBOARDTHENTHEPROCEDUREPILEDSACCORDINGTOTHESESEVENKINDSOFSQUAREPIECESVARIOUSDIFFERENTMODELTHETHESISHASDESCRIBEDTHEGAMEHISTORY,HASDEVELOPEDTHISGAMEENVIRONMENT,DEVELOPMENTSIGNIFICANCEOFGAMEKNOWLEDGEABIDINGBYASOFTWAREENGINEERING,DEFINITIONBEGINSFROMSOFTWAREPROBLEM,PROCEEDTOCARRYOUTFEASIBILITYSTUDY,NEEDANALYSIS,ESSENTIALSDESIGN,DETAILEDDESIGN,THEATLASTHASCARRIEDOUTATESTINGONTHESOFTWARE,ENTIREEXPLOITATIONPROCESSHASRUNTHROUGHTHESOFTWAREENGINEERINGKNOWLEDGEHIERARCHYTHECOMPUTERGAMEDESIGNANDPRACTICEAREDESIGNEDONECLIPSEDEVELOPINGPLATFORMWITHJAVADEVELOPINGINSTRUMENT,UNDERMICROSOFTWINDOWSXPSYSTEMTHISTIMEKEYWORDSGAMEDESIGN;CALCULATEWAY;SEVERAL;EVENT引言游戏是人们活动中一项非常重要的内容,有人认为如果哪一天人类对所有的游戏都失去兴趣,恐怕世界的末日就要到了。电脑对游戏的贡献有目共睹,现在摸过电脑的人很少有没玩过电脑游戏的,喜欢游戏的人也很少有不玩电脑的。俄罗斯方块是一款风靡全球的电视游戏机和掌上游戏机游戏,它曾经造成的轰动与造成的经济价值可以说是游戏史上的一件大事。这款游戏最初是由苏联的游戏制作人ALEXPAJITNOV制作的,它看似简单但却变化无穷,令人上瘾。相信大多数用户都还记得为它痴迷得茶不思饭不想的那个俄罗斯方块时代。究其历史,俄罗斯方块最早还是出现在PC机上,而我国的用户都是通过红白机了解、喜欢上它的。现在联众又将重新掀起这股让人沉迷的俄罗斯方块风潮。对一般用户来说,它的规则简单,容易上手,且游戏过程变化无穷,而在“联众俄罗斯方块“中,更有一些联众网络游戏所独有的魅力有单机作战与两人在线对战两种模式,用户可任选一种进行游戏。网络模式还增加了积分制,使用户既能感受到游戏中的乐趣,也给用户提供了一个展现自己高超技艺的场所。俄罗斯方块游戏可以说是随计算机的发展而发展,并不断推陈出新演变出各种类似游戏,深受广大玩家喜爱。这个游戏有的简单,有的复杂,但其根本原理是一样的都是对运动的方块进行组合,来训练玩家的反应能力。谈到游戏软件,大多数人都认为其神妙莫测,高不可及。而一般游戏软件也确实具有很高的技术难度,随着开发工具及软件开发方法学的不断发展,动手开发游戏也不是十分困难的。俄罗斯方块游戏是一种古老而又有趣的游戏,游戏软件不计其数,网上就有好多关于实现的复杂算法和设计,其难度让一般初学者望而却步。本文利用数组作为方块的数据结构,提出一种用JAVA语言实现的简易方法,对初学者可仿此开发类似游戏,并了解游戏软件的设计与开发过程。1绪论游戏开发至今已经有30多年,在这个短暂的时期里,随着硬件水平的提高,游戏开发新技术层出不穷,经典游戏比比皆是。真正的电子游戏机产生于20世纪70年代。1971年,麻省理工学院的学生NOLANBUSHNELL设计了世界上的第一个业务用游戏机(俗名街机),叫做电脑空间。这台游戏机用一台黑白电视机作为显示屏,用一个控制柄作为操纵器,不过由于市场因素这款游戏以失败告终。但是最后他在电子游戏的发展上取得了非凡的成就。上面介绍的是专用机游戏的历史,而最早的电脑游戏可以追溯到1972年,一个叫CROWTHER的工程师用当时最流行的主机DEC公司的PDP10编写一段简单的FORTRAN程序。在这个程序里,CROWTHER设计了一张地图,地图上不规则的分布着陷阱,游戏者必须寻找路径避开陷阱。这个程序被公认为是最早的电脑游戏程序。1989年,BRODERBUND公司的设计师乔丹麦克纳根据阿拉伯民族的古老传说一千零一夜在APPLE平台上制作了一部动作冒险相结合的电脑游戏波斯王子。这个游戏获得了第一作,它代表了当时电脑技术的最高水平。1986年,任天堂公司发售了一款真正的游戏巨作超级马里奥。20世纪80年代IBMPC兼容机的出现打破了APPLE公司的垄断地位。到了20世纪90年代,游戏业才真正成熟起来,成为了一种产业。由于PC机价格非常低而且硬件速度越来越快,游戏逐渐成为人们生活中不可缺少的一部分。游戏产业也逐渐发展成熟。“游戏”最简单的要素就是游戏有特定的流程模式,这种流程模式贯穿于整个游戏的行为,用户必须依照它的模式流程来执行。倘若一种游戏没有了特定的行为模式,那么就没有执行的行为;在没有执行的行为之后,这个游戏也玩不下去了。举个例子来说,如果俄罗斯方块游戏没有了各种不同形状的方块体等行为模式,那么这还能叫做“俄罗斯方块”吗所以不管游戏的流程有多么复杂还是多么简单,一定要有特定的行为模式。此论文就是综合运用在校期间所学理论知识和技能,设计开发俄罗斯方块,使自己熟悉应用系统的开发过程,培养独立思考能力,检验学习效果和动手能力,提高工程实践能力,为将来实际工作打下坚实的基础。11电子游戏及其分类电子游戏,也就是运行在家用电脑、家用电子游戏机或是掌中宝游戏机及街机上的电子游戏程序。电子游戏是一种结合剧情故事、美术、音乐、动画、程序等技术于一身的互动型娱乐软件,涉及到多个行业。从电子游戏的分类来看,有着多种分类方式。传统的游戏分类是按照游戏类型,将其分为即时战略游戏、第一人称射击游戏、角色扮演游戏、策略型游戏等类别。根据游戏运行平台的不同,可将电子游戏分为游戏机游戏、单机版PC游戏、互动电视游戏、在线游戏和手机游戏。此外,韩国政府将电子游戏业分为家用游戏机游戏、单机版PC游戏、网络游戏和街机游戏四大类。考虑到中韩游戏业比较接近,论文采用韩国的分类标准。“网络游戏”也就是人们一般所指的“在线游戏”,是指通过互联网进行的电脑游戏,通过人与人之间的互动达到交流、娱乐和休闲的目的。在互联网(局域网)技术出现之前,电子游戏都可以归于单机版游戏,即“人机对战”游戏,或最多是双人对战游戏。而随着互联网技术的出现,通过连接游戏服务器,上百、上千、乃至上万的游戏玩家同时连线娱乐成为了现实,这就大大增加了游戏的互动性、真实性,丰富了电子游戏的内涵。从网络游戏的分类来看,目前业界还没有一个比较统一规范的分类。随着计算机设备和网络技术的发展,电子游戏在全球得到了迅猛的发展,取得了巨大的成功,已成为当今世界上不可缺少的精神粮食。12电子游戏发展现状121电子游戏在国外的发展现状电子游戏是最初产生于美国,1971年,一个还在MIT就读的学生设计了世界上第一个业务用游戏机,这个街机游戏的名字叫电脑空间。可以说时至今日,电子游戏仍然是外国的天下。美国至今仍是世界第一大游戏市场,它遵循的是以发行商为主的产业开发链模式,根据美国市场调查公司NPDGROUP调查统计,美国2004年游戏总销售金额(包括家用、掌上型主机及软件)为99亿美元,占了全球游戏市场的45。其中游戏软件销售的具体数字是视频游戏软件的销售额达52亿美元16亿套,PC游戏软件销售额达11亿美元4500万套,掌机游戏销售额达10亿美元4230万套。2004年一共大约有248亿套游戏售出。据估计,美国每个家庭平均购买过2部游戏3。日本近20年来疯狂赚电子游戏的钱。从上世纪60年代初的街机,到六七十年代之间的家用游戏机,再到八九十年代的掌上游戏机,日本经过30多年的耕耘,终于把电子游戏这棵“摇钱树”,培育成第一时尚娱乐产业,垄断全球业界长达10余年。对于日本来说,电玩业已是国家经济的重要支柱之一,在GDP中占有1/5的举足轻重地位。日本游戏业在最辉煌的1998年,曾经占领全球电子游戏市场硬件90以上,软件50以上。韩国号称世界上网络游戏产业最发达国家之一。迄今为止,国内网络游戏市场有超过60的产品来自韩国游戏软件开发商,韩国网络游戏使国内很多游戏运营公司在游戏营销市场或股票资本市场上获得了巨大的成功。韩国游戏市场的发展不是偶然,韩国政府不仅给游戏产业以正确的定位和引导,更是将其和本国经济发展紧密地联系到一起,做了很多市场培育方面的工作。韩国政府认识到,靠重型工业来支撑全国经济的做法是片面的,于是将、娱乐产业视为新的经济增长点,开始大力扶持。从那时起,科技含量极高而能源消耗极低的游戏制作及相关产业担负起了“富国兴邦”的重担。由文化观光部出面组建韩国游戏支援中心,向韩国游戏产业提供从资金到技术上的多方面支援;成立游戏投资联盟,政府每年向游戏产业投入的资金多达亿韩元,并为游戏企业提供长期的低息贷款;设立信息化基金和文化产业基金,为游戏产业服务;对指定的风险企业实行各种税制优惠政策,减少甚至免除游戏企业的税务负担;建设游戏产业基地以扶持中小游戏企业的发展;对从事游戏产业的高科技人才免除两年的兵役。在韩国,从制作到运营,一个网络游戏公司起步门槛较低,主要得益于政府实行的援助计划。此外,在有利的政策形势下,韩国出现了众多的游戏院校,一些原本不涉足此领域的大学也开设了游戏相关专业课程,以大力培养游戏专业人才,从而为游戏生产提供了基础保障。122电子游戏在国内的发展现状与电子游戏发达的国家相比,我国在电子游戏方面还存在比较大的差距。目前,我国游戏市场正处于发展阶段,但市场上的游戏软件主要来自日本、美国、韩国等地,但由本土游戏制作人开发创作的游戏正在高速增加,国产原创的游戏即将成为游戏的主流。中国的游戏产业经过80年代初期台湾厂商的探索至90年代,开始了自己的研发、发行的历程,直至网络游戏的风行,让中国的网络游戏开始有了飞速的发展。1983年,智冠科技有限公司在中国台湾成立,为全球第一家签订授权重制中文版产品代理销售合约的公司,2000年智冠在台湾股票上市,2002年其控股的中华网龙在台湾上市。1996年底,UBISOFT上海分公司暨上海育碧电脑软件有限公司成立。同年,全球游戏软件领军企业EA在中国上海成立办事处。1997年,由尚洋公司制作的血狮正式上市。1997年,北京新天地互动多媒体技术有限公司成立,该公司引进了古墓丽影III(TOMBRAIDERIII)、盟军敢死队等著名欧美游戏,并在1999年在中国率先掀起“游戏软件价格革命”,全面推行50元的价格体系,从此正版游戏价格开始贴近大众消费者。1999年,业内估算中国电脑游戏市场(正版)约15亿元人民币。2000年,大陆华彩软件代理发行第一款中文MMORPG万王之王正式推出,该游戏于1999年在台湾发行,由台湾雷爵资讯LAGER开发。也在2000年,继万王之王、石器时代、网络三国在台湾上市之后,游戏桔子推出了天堂,游戏桔子成立于1995年,1999年以便利店在台湾奠定了地位。天堂这款由韩国著名游戏公司NCSOFT研发的网络游戏不但在本国大获成功,也在台湾再次夺冠。2001年初,北京华义在中国大陆地区正式推出了石器时代,华义国际股份有限公司于1993年在台北成立,2001年在台湾股票上市。石器时代成为大陆当时最流行的网络游戏。2001年,天人互动软件技术有限公司在北京成立。当年与SEGA结成PC游戏业务的战略合作关系,发行了樱花大战文明无冬之夜等经典游戏,2002年,引进在欧美网络游戏魔剑(SHADOWBANE),这是首款在中国测试的欧美网络游戏。2001年5月,“联众世界”经过3年多的迅速成长,以同时在线17万人、注册用户约1800万的规模,成为当时世界用户数量第一的在线游戏网站。2005年1月21日,中央电视台报道我国网络游戏产业当年增加了50,今后几年都将以50以上的速度增长;第一届中国网络游戏年会报道中国国内网络游戏2004年规模达247亿元,2009年规模将达到1096亿元。2可行性研究21设计目的通过本游戏的设计,综合自己在校期间所学的理论知识,设计开发俄罗斯方块游戏,使自己熟悉应用系统的开发过程,培养独立思考能力,检验学习效果和动手能力,初步掌握软件工程的系统理论,初步掌握MVC这种设计模式,进一步巩固和加强自身对J2SE基础知识的理解,提高自己的编程水平,从而达到理论与实践相结合的目的。22软件问题定义基本要求本游戏开发的总体任务是实现游戏的可操作性,以及界面的美观性。整个开发过程遵循软件工程规范,采用JAVAGUI编程来实现界面以及事件的控制,用户根据键盘的四个方向键控制翻转、向左、向右和向下操作,通过菜单栏中的相应菜单选项实现游戏的开始、结束、变换方块、积分以及等级的功能。目标通过本游戏的开发,主要实现游戏的可操作性以及美观性,同时使自己对JAVA语言的了解更进一层,为将来的实际工作打下坚实的基础。条件、假定和限制由于知识以及能力的限制,本游戏所实现的功能不够强大,可对本游戏进行改善,从而增强游戏的功能。可行性研究的方法通过研究分析俄罗斯方块所具备的能力及实现的方法、确定主体结构。利用现阶段我所能达到的能力,以最简洁、最容易的办法,边开发边测试边修改,实现一个初级游戏软件。评价尺度由于本软件是一个初级产品,对其要求不是太苛刻,所以能够达到俄罗斯游戏的一般功能即可。23可行性分析技术可行性开发本游戏的编程语言有多种,考虑到自身对语言的掌握程度,选择JAVA语言进行游戏的开发,采用JAVAGUI编程来实现界面以及事件的控制。经济可行性本游戏的开发旨在完成毕业设计,不注重直接的经济效益和其后的发展方向,只在注重自身水平和能力的提高,对自身的经济要求也不高,只要有一台能运行相应JAVA程序的电脑便可,所以不用考虑到经济问题。社会可行性本游戏的开发主要为了完成毕业设计,开发的主体是个人,不存在法律上的侵权行为,也不会为社会造成影响,这方面是完全可行的。3需求分析31引言对软件需求分析就是通过调查研究,建立系统的数据模型、功能模型、行为模型,用户和开发人员在“系统必须做什么”这个问题上实现相互理解,达到共识,从而形成双方认可的软件产品的需求规格说明书。这样有益于提高软件开发过程中的能见度,便于对软件开发过程中的控制与管理,便于采用工程方法开发软件,提高软件的质量,便于开发人员、维护人员、管理人员之间的交流、协作,并作为工作成果的原始依据,并且在向潜在用户传递软件功能、性能需求,使其能够判断该软件是否与自己的需求相关。32游戏需求28种状态的方块随机产生,自由下落,落下时可由玩家用上、下、左、右控制键控制翻转和移动,以便以玩家所需要的形态和位置落下。如果落下时,方块的方格能填满某一行,则这一行可消去。消去一行后,游戏可给玩家加分,若由存在空格的方块填满整个窗口,则游戏失败。游戏功能需求如下游戏界面需求设计良好的游戏界面可以让玩家充分感受到游戏带来的娱乐性,游戏的背景色是黑色,方块用蓝色颜色,在一定的区域内运动和变形,落下后的障碍物用黄色显示,这样看起来会有一定的美感。游戏形状需求用数组作为存储方块28种状态的数据结构,即长条形、Z字形、反Z形、田字形、7字形、反7形、T字型,各个方块要能实现它的变形,可设为顺时针或逆时针变形,一般为逆时针。键盘处理事件需求方块下落时,可通过键盘方向键(上、下、左、右键)对该方块进行向上变形,向下(加速)、向左、向右移动。鼠标处理事件需求通过点击菜单栏中相应的菜单项,可以实现游戏的开始、结束,方块形状的变换,分数、等级的显示,以及游戏帮助等功能。显示需求当不同的方块填满一行时可以消行,剩余方块向下移动并统计分数。当达到一定分数的时候,会增加相应的等级。33软硬件需求操作系统MICROSOFTWINDOWSXPPROFESSIONALSERVICEPACK2内存512M硬盘80GCPU赛扬28交互工具键盘/鼠标显示器VGA显示器JDK版本JDK16002ECLIPSE版本ECLIPSESDK34WIN3234接口控制本游戏通过键盘进行操作,在WINDOWS的操作系统下,利用键盘的上、下、左、右键对方块进行移动变形,要使用键盘的接口事件。35方案论证学校现已开设的课程有C语言、C,JAVA,自己本身自学了JAVA,通过网上以及图书馆的资料,知道可以通过C,C,VB,DELPHI,JAVA实现俄罗斯方块游戏的设计。下面简单介绍下VB、C、JAVA各自的优点351VB的优点全称VISUALBASIC,它是以BASIC语言作为其基本语言的一种可视化编程工具。在中国乃至全世界都能看到它的身影,它曾是在中国最为流行的编程工具,到现在还占据着非常重要的地位,对于它的好坏大家都有一定的了解,VB作为一种较早出现的开发程序以其容易学习,开发效率较高,具有完善的帮助系统等优点曾影响了好几代编程人员,但是由于VB不具备跨平台这个特性,从而也决定了VB在未来的软件开发中将会逐渐地退出其历史舞台;它对组件技术的支持是基于COM和ACTIVEX,对于组件技术不断完善发展的今天,它也显出了它的落后性;同时VB在进行系统底层开发的时候也是相对复杂的,调用API函数需声明,调用不方便,不能进行DDK编程,不可能深入RING0编程,不能嵌套汇编;而且面向对象的特性差;网络功能和数据库功能也没有非常突出的表现,综上所述,VB作为一种可视化的开发工具由于其本身的局限性,导致了它在未来软件开发中逐步被其他工具所代替。352C的优点C是对C语言的扩充,扩充的绝大部分来自著名语言中的最佳特性从SIMULA67中吸取了类,从ALGOL68中吸取了运算符一名多用、引用和在分程序中任何地方说明变量,综合了ADA的类属和CLU的模块特点,从BCPL中吸取异常处理,从BCPL中吸取了用/表示注释。C保持了C的紧凑、灵活、高效和易移植强的优点,它对数据抽象的支持主要在于类概念和机制,对面向对象风范的支持主要通过虚拟函数。C既有数据抽象和面向对象能力,语言运行性能高多,加上C语言的普及,而从C至C的过渡较为平滑,以及C与C的兼容程度可使数据巨大的C程序能方便地在C环境中重用。尽管C当初的设计本意是帮助管理大型程序,但其用途并不仅限于此。C的面向对象的特性可有效地用于实际的程序设计工作。C常常用于设计编辑器、数据库、个人文件系统以及通讯程序等。而且,由于C共享C的效率,所以用C可以构成很多高性能的系统软件。353JAVA的优点1安全性JAVA是一种安全的网络编程语言,不支持指针类型,一切对内存的访问都必须通过对象的实例来实现。这样能够防止他人使用欺骗手段访问对象的私有成员,也能够避免在指针操作中易产生的错误。此外,JAVA的安全性体现在多个层次上在编译层,有语法检查;在解释层,有字节码校验器,可进行代码段格式测试和规则检查、访问权限和类型转换合法性检查、操作数堆栈的上溢和下溢检测、代码参数类型合法性检查等;在平台层上,通过配置策略,可设定访问资源域,无须区分本地或远程。2可移植性JAVA具备有很好的移植性,这主要得益于它与平台无关的特性。同时,JAVA的类库中也实现了与平台无关的接口,这使得这些类库也能移植。同时,JAVA编译器主要是由JAVA本身来实现的,JAVA的运行系统(解释器)由标准C语言实现,因而整个JAVA系统都具有可移植性。3多线程机制JAVA具有多线程机制,这使得应用程序能够并行地执行。它的同步机制也保证了对

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论