基于Java的连连看游戏设计与实现_第1页
基于Java的连连看游戏设计与实现_第2页
基于Java的连连看游戏设计与实现_第3页
基于Java的连连看游戏设计与实现_第4页
基于Java的连连看游戏设计与实现_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计说明书基于java的连连看游戏的设计与实现题目用一号黑体字,一行排不下可排两行,居中。077信息商务学院学生姓名:学号:077信息商务学院电子与计算机科学技术系学院:电子与计算机科学技术系网络工程系名:网络工程专业:指导教师:2015年5月基于java的连连看游戏的设计与实现摘要游戏开发至今已有30多年的历史,在这短短的时期,随着硬件水平的提高,游戏开发的新技术层出不穷,经典游戏无处不在。大多数人在听到游戏连连看,往往会认为这是一个小游戏。连连看游戏,它是指在一个地区,有许多不同的图像,通过点击两个相同的图片和符合一定的规则,来消除它们的一个游戏。我们是最常见的QQ连连看QQ游戏大厅之一,在互联网上也有很多各种各样的单机游戏连连看。在游戏的过程中,可以考虑如何使用学过的知识去实现游戏的效果,并尝试编写一款属于自己的连连看,这是一个非常愉快的事情。在这里面,我们将教你详细说明如何使用Java来开发一个属于自己的独立的连连看。这个游戏使用JAVA语言开发,如Eclipse的开发平台。游戏的主界面是基于GUI(图形用户界面)的发展,使得游戏界面简单明了。并调用其中的一些功能,完成事件触发功能。希望通过本次的开发设计连连看游戏,给你一个小乐趣的生活。通过定义动态二维数组,按照一定的路径判断算法执行规定的游戏。关键词:连连看,小游戏,JAVA,GUI,数组Designandimplementationofjava-basedgameLianliankanAbstractGamedevelopmenthasbeenmorethan30yearshistory,inthisshortperiod,withtheimprovementofhardwarelevel,thegamedevelopmentnewtechnologyemergeinendlessly,classicgameseverywhere.Mostpeopleheardthelianliankangame,oftenwillthinkthisisasmallgame.Lianliankangame,itistopointtoinonearea,therearemanydifferentimages,byclickingontwoofthesamepicturesandconformtocertainrulestoeliminatetheiragame.WeareoneofthemostcommoninQQlianliankanQQgameshall,ontheInternetalsohasmanyavarietyofstand-alonelianliankangame.Intheprocessofthegame,canconsiderhowtousetheirmasteryoftheprogramtoachievetheeffectofthegame,andtrytodevelopourownlianliankan,thisisaverypleasantthing.Inthischapter,wewillteachyouindetailhowtouseJavatodevelopabelongstoownstandalonelianliankan.ThisgameUSESJAVAlanguagedevelopment,MyEclipseasdevelopmentplatform.GamemaininterfaceisbasedonthedevelopmentofGUI(graphicaluserinterface),makesthegameinterfacesimpleandclear.Andcallsomeofthesefunctions,completedtheeventtriggerfunction.Hopethatthroughthisdevelopmentdesignlianliankangame,giveyoualittlepleasureoutoflife.Thegamebydefiningthedynamictwo-dimensionalarray,accordingtoacertainpathjudgmentalgorithmimplementationregulations.Keywords:lianliankan,littlegame,JAVA,GUI,array目录1引言 11.1课题研究的意义和目的 12连连看游戏及相关背景介绍 22.1相关背景及介绍 22.1.1计算机 22.1.2电脑游戏 32.1.3连连看 43相关技术支持及介绍 73.1Java 73.1.1Java语言背景介绍 73.1.2Java语言特性 83.2Eclipse 84需求相关设计 104.1系统需求分析 104.2程序开发环境 104.3系统功能 104.4模块设计 104.4.1总体框架介绍 104.4.2算法设计介绍 115游戏相关设计 145.1游戏界面设计 145.2相关功能实现 156测试与分析 196.1游戏界面展示 196.2测试中遇到的问题与分析 216.2.1算法设计介绍 216.2.2异常的相关与处理 217结论 23参考文献 24致谢 251引言1.1课题研究的意义和目的计算机作为20世纪一个伟大的发明,给人们带来了很多的方便和快捷,在工作和生活带来了意想不到的效果。随着时间的推移,计算机的发展越来越快,由一个“巨大的家伙”已经发展到可以随身携带。而电脑游戏作为电脑的衍生产物,已成为了人们休闲娱乐的重要方式,在人们紧张工作中带来了放松,同时在很大程度上也加强了人的手,脑协调能力和能力与人沟通。相对于以GB为大小的大型游戏而言,小的游戏有越来越多的人的喜爱,操作简单,使用方便,而不是等待很长的时间来下载过程中),特别是许多经典的游戏,更是让人们痴迷。

2连连看游戏及相关背景介绍2.1相关背景及介绍2.1.1计算机在没有发明计算机之前,所有复杂的大规模计算都需要人工完成,这导致了有一个发杂的式子需要十几甚至二十几个人去没日没夜的计算好久才能完成。在二次世界大战期间,很多研究人员为了计算炮弹和导弹的弹道而需要一大批研究人员计算好多天才能完成,这直接的加速了人们迫切的需要一个可以计算复杂式子的工具。在1941年的夏天诞生了世界上第一台电子计算机—阿塔纳索夫-贝瑞计算机。它采用了真空管计算器,二进制值,可复用内存;英国在1943年研制成功的巨像计算机,但是它的程序化能力却是十分的有限,即使这样,它也使人们相信真空管是值得信赖的电子产品。美国哈佛大学所研究的MarkI和基于二进制的ENIAC,可以称之为电子数值积分计算器,这就是第一台通用意图的计算机,由于设计时间较早,导致其结构设计不够灵活,以至于每一次编程都需要将其的电子线路重新连接起来。在二次世界大战的时候,美国海军为了训练飞行员,特意向麻省理工学院进行了咨询,问其能否可以开发出一款用于模拟飞机真实操作的计算机。军方最早是想计算机将飞行员模拟飞行时的操作以及所产生的相关数据能及时显示到所对应的仪表盘上。和以前的训练系统林克不同的是,军方的这个系统可以可能真实的根据空气动力学模型去模拟,使它可以适用于各种不同种类的飞机。基于此原理,麻省理工学院研制出了世界上第一个实时处理数据的计算机,以及芯片存储设备。这是个人计算机发展史上的一大步。艾尼阿克的研究人员对其所存在的隐患进行了完善与修改,从而得到了一种新的程序存储体系,将其成为冯•诺依曼结构。该系统是现在我们所使用的所有计算机的基础。二次大战结束以后,大量的开始研究基于该系统的计算机,其中英国研发的时间最早。虽然建成并投入运行的第一个是一个小规模的实验机,但其真正的被研发出来很可能是存储电子计算器的时候了。在20世纪的50年代,人们研究出来了真空管计算机,自被研发出来的一开始,真空管计算机就成为了主流。1958年,在日后英特尔的教父罗伯特•诺伊斯的率领下,人们研发出了集成电路,很快又制造出来了微处理器。我们将1959年至1964年期间研发出来的称为第二代计算机。20世纪60年代,晶体管计算机占据了世界计算机的主导地位。由于其价格低廉,速率快,性能可靠,体积小这几大优势,使得它们能够批量化生产。1在这期间所生产的计算机被人们称为第三代计算机。集成电路的大量使用是其最大的特点,典例是IBM的360。在20世纪70年代,引进的积体电路大大降低了计算机的生产成本,这意味着计算机也开始进入了普通家庭1972年以后的计算机称之为第四代计算机。以大规模的集成电路为基础,以及后来研发出来的超大规模的积体电路也成为了第四代计算机的主要部件之一。1972年4月1日,8008处理器诞生,七六年,史蒂夫•乔布斯和史蒂夫•沃兹尼亚克成立苹果电脑公司。并推出了AppleI。发布1977年5月,苹果II诞生。8位8088处理器于1979年被研发出来。微型计算机(也就是我们所用的计算机)于1982年开始以爆炸般的速度大量的涌入各个家庭和学校。同年2月,英特尔发布80286。时钟频率达到20MHz,同时还加入了保护模式,能够访问640KB的存储器[17]。2.1.2电脑游戏电脑游戏是相对于街机游戏和主机游戏的概念而言的,是指在个人计算机上运行的软件,是一种本身能够提供娱乐功能的计算机软件。电脑游戏业的发展离不开计算机硬件,电影,计算机软件,互联网等产业的发展,甚至是与这几个产业的发展关系甚是紧密。电脑游戏为所有的游戏玩家们提供了一个虚拟的空间,可以说是让一个人从一定的程度上脱离掉现实的世界,在另一个异世界中扮演着在现实世界中无法扮演或者想象的人物。与此同时,计算机多媒体技术的快速发展,使得游戏给人更多更好的体验与享受。电脑游戏作为现代计算机技术的产物,现在正在以其特有的方式占据了娱乐领域的主要板块。我们必须承认,为什么广大的用户会在那么多的休闲方式中选择这个只能在狭小的空间进行休闲的方式,游戏其本身的强大的吸引力就是主要的原因之一。游戏的吸引力主要是它在使玩家消磨时间的同时还可以让一个人在紧张的生活环境下得到一个缓冲,让人们绷紧的神经得到放松。同时还可以促进人与人之间的沟通与交流,让我们能认识到更多的朋友,甚至可以达到跨省,跨地域,甚至跨国之间的游戏。与之相对应的是,随着人们生活水平的不断提高与日益增长的精神文明建设,计算机相应的硬件设备等也在不断的升级,相对应的游戏的效果也是越来越好,而游戏产业作为一个新型的产业,已经成为经济增长的主力军,成为了经济腾飞的“第四产业”了。电脑游戏的兴起与20世纪60年代电子计算机在美国大学校园的普及有着密切的联系。当时的环境背景造就了一大批的编程高手。1962年,美国一所高校的名叫史蒂夫•拉塞尔的,在DEC公司所生产的计算机上编写了世界上第一款电脑游戏《宇宙战争》。游戏界人士普遍认为,史蒂夫•拉塞尔是电脑游戏的发明人。在20世纪70年代,随着计算机技术的发展,其建造成本也变得越来越低。1971年,被称为“电子游戏之父”的诺兰•布什内尔创造了第一台商业化的电子游戏机。随后,他更是创办了世界上第一家电子游戏公司—Atari。但在20世纪70年代,苹果电脑的问世才使得电脑游戏向着商业化而转变。虽然这个时候的电脑游戏的图形是很不起眼,但游戏类型化已经开始逐步显现出来了。在20世纪80年代和90年代,随着计算机软硬件技术的不断提升,个人电脑的应用也越来越广泛,多媒体技术已经开始逐渐成熟,电脑游戏已经成为技术进步的先驱。3DFX公司所生产的3D显卡也给这个快速崛起的行业带来了一场不大不小的革命。进入2000年以后,互联网的普及为电脑游戏产业的发展提供了强大的助力,随着互联网的不断发展,多人大型在线游戏成为了一座新的“金山”,使得很多厂商都开始研发相关的游戏。随之而来的,在世界各地也开始举办了很多各式各样的电子竞技比赛,并且创造了相当可观的利益收入。之后的游戏各大开发厂商更是开发一些能在网页上玩网页游戏,给一些不想安装游戏客户端的玩家带来了福音。步入2010年,根据在世界各地掀起的手机热潮,很多原来开发电脑游戏的游戏开发商开始手机游戏过渡,同电脑游戏以及网络游戏各据一脚,形成了三足鼎立的局面。现在,很多的小游戏和网页游戏越来越受到用户的喜爱,除了游戏本身的操作方法简单之外,最为关键的一点就是其并不像其他游戏那样也需要繁琐的注册以及长时间的下载过程,而且很多游戏也都是经典之作。由于移动互联网的不断进步与发展,传统的网络游戏已经不能紧跟着时代的发展趋势。而网页游戏以其并没有客户端的优势,确立了未来的主导方式将会是以网页游戏为基础的网络游戏市场[17]。2.1.3连连看连连看,也称为对对卡,是一种按照图案匹配去操作的益智游戏,这个游戏的表现形式不止一种,如网络游戏,纸牌类游戏或者电子游戏)。和“发现的两个图片的不同之处”类似,都是一个锻炼眼力及耐心的益智类型的游戏。最初的设计是有许多图案,但是它们的内容都不一样,每个图案所对应的都有两张显示内容一样的卡片,将图片打乱顺序,然后将卡片背面朝上,平铺在桌子上,玩家按照一定的顺序来进行卡片的抽取,但是玩家每次只能抽取两张卡片,如果两张卡片所显示的图案不一样则将两张卡片恢复到拿之前的状态,若是揭开的两张卡片图案一样,则把这两张图案相同的卡片取走。直到桌面上没有卡片时视为游戏结束。判断游戏输赢的条件是玩家所获得的卡片的数量的多少,获得最多的那个玩家被视为游戏的获胜者。由于其能在一定的程度上锻炼人们的逻辑思维能力,所以这个游戏也经常用在锻炼幼儿的思维能力,用于幼儿的启蒙教育之上。连连看还有一种玩法是用在字图上,这种连连看是专门用于教导幼儿识字认图的,和一般的连连看不一样是,它的玩法并不是将两张图片内容一样的匹配,而是将文字与图片进行匹配。还有一种连连看是将两个内容相关的卡片(也可以是文字或者图片)配对。也有的地方用扑克牌进行这个游戏,即把两张点数相同的纸牌视为两张相同的图案[18]。电脑版的连连看游戏的类型基本都是网页版的,或者就是一个小于20MB的小游戏,其游戏规则就是在一堆杂乱无序的图片当中将两张图片内容一样并且能按照一定规则连线的图片找到并点击这两张图片将其消除。“连连看”经历了三个阶段的转变,从最开始的需要人们自己手动操游戏的准备工作作的桌面游戏衍变到可以不用人们自己去手动操作准备工作的电脑游戏再到后来的在游戏过程中可以和来自世界各地的玩家进行互动的社交类游戏。“连连看”游戏起源于台湾的桌面小游戏,被传播到到大陆以后风靡一时。这时,人们看到了这个游戏的广大市场,开发这个游戏的程序员趋之若鹜,给人们带来了各种不同版本的“连连看”。在这期间,最著名的就是顾方所编写的连连看了,“阿达连连看”用它那其精良的制作和较为不错的游戏画面深受广大用户的喜爱。随着闪客技术的问世及普及,网络上出现了各种基于在线Flash版的“连连看”。“果蔬连连看”,“水晶连连看”,“宠物连连看”等等,其中“水晶连连看”在某段时间一直广受人们的喜爱,玩这款连连看的主要人群是广大的女性玩家,而且她们喜欢这款连连看的最主要原因就是因为其游戏界面于游戏所使用的图片很好看。2008年,社交网络平台突然走红,随之而来的平台大众化让人们的业余生活更加的丰富了起来。在这基础上,很多小型经典游戏被搬到了社交网络上,“连连看”就是其中之一。人们将“连连看”游戏与个人主页相结合,使得这个经典小游戏更加的受到了人们的欢迎与喜爱,其传播速度之快简直让人无法想象。其中“宠物连连看”以其可爱的图形化界面深受广大网民的喜爱。

3相关技术支持及介绍3.1Java3.1.1Java语言背景介绍Java是一门计算机编程语言,有三大特性,分别是:封装,继承,多态,被广泛应用于企业级Web应用程序开发和移动端应用程序的开发。在Sun公司任职的詹姆斯•高斯林等人于20世纪90年代出研究出来Java的雏形,并以Oak来命名,目标设定在家用电器之类的小型系统操控的程序语言,在电视,烤面包机,闹钟,电话等小型家用电器的控制与通信。但是由于当时智能家电的市场要求不是很高,Sun公司当时就放弃了这个计划。上世纪90年代,WorldWideWeb被提出,随后互联网行业飞速发展,Sun公司突发奇想,打算将Oak应用在互联网上,于是他们将Oak改造成了能应用于互联网上的程序。并在1995年5月重新推出,舍弃了原来的名字Oak,将其改名为Java。由于Java语言的特性,致使其的发展速率完全不低于互联网的发展速率,现如今的Java已经成为了一门不可或缺的编程语言,成为了在编程语言界的主流语言之一。Java的编程风格与C++的十分类似,两者的核心都是面向对象,但是Java遗弃C++中一些容易引发错误的操作,最明显的就是使用引用操作代替C++中的指针操作,同时还将运算符重载和多重继承这两个特性遗弃,并使用接口代替了多重继承。由于在编程时肯能会占用大量的内存空间,Java还引入了垃圾回收机制,用于释放掉那些在程序不操作时无用的对象所占用的内存空间。Sun公司为Java的解释是:“Java是一种简单的,面向对象的,分布式的,解释的,健壮的,安全性和系统无关,可移植性的,高性能的,多线程和动态的编程语言”。Java语言与一般的编译语言,直译语言不同的地方在于:Java首先将代码源码转换成字节码,然后将其翻译成JVM的可执行文件,这些可执行文件能在各种不同的JVM上面运行。从而实现了其跨平台性的特性。虽然在早期这样使得Java的速率十分低下,但是随着Java的不断发展,在J2SSE1.4.2版本中,Java的速率已然得到了提升。和其他的编程语言不通的是,Java在被开发之初就被SUN公司作为一个开源的编程语言。使用Java语言进行开发的公司在开发之前就被告知所研发的Java程序必须能够相互兼容。“Java是靠大家的力量而并非是一个公司的力量”是Sun公司的口号之一,这一口号也获得了广大Java用户的一致好评。这与微软公司所提倡的封闭模式是大相径庭的,与此同时,微软也推出了.NET平台和模仿Java语言的C#与之竞争。由于经营不善,Sun公司开始亏损,最终被甲骨文公司收购,而风靡一时的Java也成为了甲骨文公司的产品。3.1.2Java语言特性面向对象面向对象是Java编程语言的标志之一,是一种软件的开发方法。其主要就是将所有的事物都转化为“对象”,然后通过一些方法来进行编程。在编程时,每个对象上都要写代码和数据。面向对象这种编程方法的出现使得人们在编程的过程中的设计思路和操作变得十分简洁,同时也将程序的安全性得到了提升。跨平台性Java之所以受欢迎的一个主要特点就是跨平台性,跨平台性的实现使得Java编程变得十分简便。你可以用Java编写完程序以及在编译之后再不用对其进行修改就可以在别的地方运行。垃圾回收机制垃圾回收机制是用来将那些在程序不操作时无用的对象所占用的内存空间释放掉,C++最被人厌恶的就是因为其不能将在编程的过程中所占用的内存空间进行及时的释放,导致随着编程时间的变长所占用的内存空间越来越多。对于一些编程高手而言,他们会在刚开始编程的时候配置一块内存地址放在堆栈上,然后在不需要的时候会对其进行释放,而一些新手和菜鸟在很多的时候会忘记删除这个内存地址,从而导致程序在运行的过程中会变得十分的不稳定,最终有可能会导致程序崩溃。所以很多C++的高手在编写程序时往往都会将删除后的指针的值设置为NULL,然后在删除之前确定一个指针的值是否为NULL。接口和抽象类Java是一个面向对象的编程语言,其最主要的特征之一就是抽象,在Java中,类和接口就是用来表现其抽象的特征的。抽象类是指没有具体的实现方法,只能用来声明。接口是在编程中为人们提供一个调用的方法或者是函数[19]。3.2EclipseEclipse是一款主要用于编写Java的跨平台的开源的开发集成环境。虽然最初开发这个软件的开发者们主要是想将其用于Java的开发,但随着时间的推移,现在也可以通过编写的插件来进行PHP,C++以及Python等其他编程语言的开发。Eclipse平台其本身追根到底来说只是一个框架,但是这个框架却能兼容插件的使用,这是这一大特性,使得Eclipse的灵活性十分高,所以这就导致很多的软件开发者都在用Eclipse框架作为自己开发的开发IDE的工具。Eclipse最早是由IBM研究出来,用来代替一款名为VisualAgeforJava的商业软件的开发环境。但是却在2001年11月将其免费送给开源社区。2003年,Eclipse3.0问世。2007年6月,Eclipse3.3稳定版发布;次年6月3.4版发布;次年6月发布3.5版;2010年6月发布其3.6版;2011年6月发布了代号为Indigo的3.7版;2012年6月发布代号为朱Juno的4.2版;2013年6月发布了代号为Kepler的4.3版;在2014年6月发布代号为Luna的4.4版;预计将于2015年6月项目发布为版本为4.5的Mars[20]。

4需求相关设计4.1系统需求分析在这个连连看游戏上,在进入游戏之后将会由一个特定的算法来将图片进行排序,并将图片的位置进行一个标记,然后判断他们是否相同。并记录下每个图片的坐标,方便判断图片能否可以连接。游戏拥有“退出”功能,点击关闭按钮后,程序将会执行退出命令后终止同时关闭窗口。还有一个“开始”的按钮,点击这个按钮,无论游戏进行到什么程度都将会重新开始。现在很多的连连看游戏都会有游戏时间,虽然增加了游戏的可玩性,但是会让广大玩家失去了一部分的游戏体验。而这款连连看没有时间限制,这样能使玩家获得最大程度的游戏体验。在游戏界面的顶端处还有一个计分功能,当玩家将消除两张相同的图片之后都后获得相应的游戏分数。4.2程序开发环境操作系统:Windows8.1开发工具:JDK1.6编译工具:Eclipse4.3.04.3系统功能这款连连看游戏主要实现如下几项功能:(1)游戏界面友好美观(2)玩家进行游戏时方便,快捷,灵活(3)图片排列,消除清晰(4)计分功能自动完成(5)拥有提示功能和自动消除功能(6)游戏程序运行稳定4.4模块设计4.4.1总体框架介绍通过之前的分析,这个游戏的总体框架将是如下图4-1所展示的几个模块:图4.1游戏总体框架4.4.2算法设计介绍1.图片消去方法的介绍在验证两张图片如何消去的判断中,必须使这两张图片满足如下的几个条件,那就是两者都是匹配且可以通过线进行连接(且这线最多不会超过由三条线组成)。如图4-2所示分为以下三种情况:在这三种情况中,我们还需要三个测试,这三个分别在一条直线路径的检测。因此,将会有三条路径产生。如果在这三条路径上都是空的,这样就是这三种路径(两个转折点)将两个按钮连接起来了。情况1:相邻的两个情况2:如果两个按钮不相邻的话,此时就在一个按钮的同行中找到一个空按钮。(1).找到那个空按钮之后再看另一个按钮的横行到这个空按钮所在的列是否有按钮。(2).如果没有,那么看一下第一个按钮与其同行的按钮之间是否有按钮。(3).如果还是没有的话,再从与第一个按钮垂同行的那个空按钮竖向到与第二个按钮的同行判断是否有空按钮,如果没有的话,那么就判断成两个按钮之间的路径能够连通,即可以将两个按钮进行消除。情况3:若当情况2出现问题后,再从第一个按钮的同一列再次找到一个空的按钮。(1).找到空按钮之后判断第二个按钮垂直方向到这个空按钮所在的行上是否存在空按钮,(2).如果不存在,此时再去看看第一个按钮,它的所在列的那个空按钮所在的行到第二个按钮所在的列是否存在空按钮。(3).如果还是没有的话,那么就再从与第一个按钮在同一行的空按钮横向到与第二个按钮同列是否存在按钮。如果没有的话那么就可以判断为两个按钮可以消去。如何过以上三种情况都无法实现,那么就说明这两个按钮之间不存在连线使得这两个按钮能够正常消去。图4.2游戏图片消除方法2.图片加载方法的介绍在对图片进行加载和根据该图片在场景中所在的位置将其打乱的主要方法是Map类。在这个类中,使用一个数组中并用数字标记的方法来记录和加载图片的类型,在其每次加载图片的过程中保证每张图片均是连续加载两次,以确保加载成对的图片。然后使用数组的随机方法将其打乱。3.界面显示的设计由于这个界面所使用NBA球队的队徽为图片,所以在其主界面的顶端显示为“NBA连连看”,在界面下方是一个十一行十八列的表格,但是这个表格是隐藏的,然后将图片成对并且随机的放入在表格中。但是这个表格的最外面的一行一列是不放入图片的。这样的做法是为了使游戏连线的算法更加容易的实现。所以在进行游戏的时候只能显示十行十七列。地图的设计是使用GUI编程,定义在了一个十行十七列的网格中,使用一些图片,然后随机产生一些图片,以二维数组将它们随机排放到十行十七列的布局网格中,注重二维数组下标和网格布局的行列都要相同。

5游戏相关设计5.1游戏界面设计在之前就介绍过,这个界面是基于GUI所设计的,是一个十一行十八列的表格,但是为了让算法更容易实现形,所以只能显示十行十七列。其图化界面如图5-1所示,相关代码如图5-2所示图5.1游戏界面图5.2游戏界面相关代码5.2相关功能实现判断两个图片能否消去的相关代码,如下图5-3,5-4,5-5所示:图5.3游戏消除相关代码图5.4游戏消除相关代码图5.5游戏消除相关代码6测试与分析6.1游戏界面展示在游戏的界面上有一个重新排列的功能,当找不到两个一样的图片时,即可点击这个按钮,此时游戏将会剩余的图片进行重新排列。如下图6-1和6-2所示:图6.1游戏界面图6.2游戏界面游戏完成画面如图6-3所示:图6-3游戏完成画面6.2测试中遇到的问题与分析6.2.1算法设计介绍在验证两张图片能否被消除的时候,我们必须使这两张图片同时满足如下的两个条件,那就是两张图片必须一样且可以连线。所以在这里首先要进行测试,如果条件不成立,就不需要连线检验了,也可避免很多不必要的操作。6.2.2异常的相关与处理(1)Java空指针异常这个异常是说明程序出现了空指针,在开始使用Java编程时很容易遇到该异常,常见有两种可能来引发这个异常,一个是最初就没有定义该对象;另一种是调用该对象但是却没有对其进行初始化,使用数组和创建图像的时候会出现此异常。刚开始学JAVA,由于时间的原因还不能准确的区分数组初始化与数组元素初始化。所以很容易在这个地方发生错误。数组初始化是数组分配需要的空间,由于是引用类型,其中的元素可以理解为类中的成员变量。(2)Java构造方法异常这个异常的出现说明了方法的参数产生了问题,该错误是一些类库中的方法被附的值非法或是发生冲突。如果在一个方法中其规定的值都是整数,而你却将一个无理数的值赋给了该方法中。然后,你只需要返回调用方法来检查参数值范围存在正不正确即可。(3)Java数组越界异常这个异常是说明所定义的数组的下角标超出了定义数组时的最大值,是指在调用数组的时候没有注意到当前数组所能取到的最大值而造成了溢出。一般是不会出现该异常,但是,如果是使用变量来定义下角标或定义数组的长度时,就会很容易引发此异常,解决的方法就是仔细检查一下数组的取值范围。(4)Java逻辑运算异常这种异常的含义是指一个逻辑运算发生了异常,例如在运算时将零作为了除数,此时就会抛出此异常,出现这种错误只需要检查程序逻辑的操作和是否有什么算法定义定义错了即可。在设计该程序的过程中也是遇到了上述的异常。所产生的原因归根结底在于平时编写相关代码的代码量不够多,最开始碰到会让人抓耳挠腮,感觉无从下手。但是随后慢慢的就会发现都是一些无关紧要的小问题了。这个程序没有特意编写有关异常处理的代码,只考虑“死锁”的相关问题,但是“死锁”现象却没有出现,所以没有写相应的处理方法。但是“死锁”问题在这个程序中最可能出现的情况就是判断图片内容一样的两个图片如何消去的问题。最简单的办法就是对于还没有消除的图片,计算一下它们是否可以被消去。7结论随着时代的发展,计算机也越来越普及。网络游戏已经成为了人们在生活中不可缺少的元素之一,几乎每个人用电脑玩网络游戏,由于每个人的思维不同,大家所玩的网络游戏也都不一样,现在的网络游戏类型也是越来越丰富。我的课程设计就是目前网络上非常流行的连连看游戏。游戏“连连看”,就像它的名字所提示的是要找到相关的东西,在互联网上的连连看游戏一般都是小游戏,就是要找到两个相同的东西,在一定的规则下可以进行相关的连线。现在的网络小游戏以及网页游戏越来越受到网民们的追捧,除了游戏的方法简单,同样的也相当经典。连连看游戏就是这其中之一。无论去哪个网页游戏网站,连连看游戏总能在最受玩家欢迎的小游戏榜单的前五名占据一席之地。休闲,乐趣和益智是连连看小游戏印在大家脑海中标签。不论男女老少,工薪白领,都对这款小游戏情有独钟,连连看是一款适合大众的经典网络休闲小游戏。这一次,我们的设计有通用连连看游戏规则的功能是相同的网络上的游戏。在这课程设计的过程中,虽然十分的辛苦,但也收获了很多。在互联网上查阅了很多相关的知识让我学会且掌握更多有关Java的知识,如怎样使用Swing组件,事件处理等,此外,还学习了很多新的知识。从最早的不知道如何下手到后面写需求分析等等之类的,当然这个游戏还有很多的不足之处

温馨提示

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

评论

0/150

提交评论