基于java连连看游戏(程序代码+任务书+说明书+外文翻译+演示文稿)_第1页
基于java连连看游戏(程序代码+任务书+说明书+外文翻译+演示文稿)_第2页
基于java连连看游戏(程序代码+任务书+说明书+外文翻译+演示文稿)_第3页
基于java连连看游戏(程序代码+任务书+说明书+外文翻译+演示文稿)_第4页
基于java连连看游戏(程序代码+任务书+说明书+外文翻译+演示文稿)_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

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

文档简介

i使用java开发连连看游戏摘要社会在发展,人类在进步,生活质量保证之余,各种游戏蜂拥而起,越来越受到各界人士的追捧,比如老少适宜的斗地主,深受广大女性喜欢的节奏大师,受高智商人群喜欢的棋牌类游戏等等,而连连看游戏是无人不知无人不晓的其中之一。我这次的毕设题目是“使用java开发连连看游戏”,改项目使用Java语言为母本,以Eclipse为开发工具,用Swing组件为父本,进行游戏开发。这次毕业设的主要想法就是应用Swing组件和处理事件技术,绘制界面,通过代码实现随机二维数组,此外点击鼠标来实现各项功能。连连看游戏除了实现以往版本的普通消除功能,还实现了特殊消除功能,即任意位置只要两张图片相同即可消除,此为这次毕业设计的最大亮点。此外我还对这次毕业设添加了背景音乐以炸弹功能,在用户体验方面做出了很大的思维突破。通过此次连连看游戏的设将,使我深刻理解了Swing组件,事件处理,java语言的三大特性封装,继承,多态。这些都将为我以后开发程序打下了坚实的意识基础和能力基础。关键词:连连看;Swing;数组lianliankangameusingjavadevelopersAbstractSocialdevelopment,humanprogress,Iguaranteethequalityoflife,avarietyofgamesswarmedintothesky,moreandmoresoughtafterbyallwalksoflife,youngandold,suchastheappropriateLandlords,themajorityofwomenliketherhythmmaster,byintelligentpeoplefavoritereadings,etc.,andJamgameisoneIdonotknowsomethingwell-knownunmanned.IhavethecompletesetentitledlianliankangameusingjavadeveloperschangeprojectusingtheJavalanguageasfemaletoEclipseasadevelopmenttool,withtheparentoftheSwingcomponents,forgamedevelopment.ThecompletesetofthemainideaistouseSwingcomponentsandtechnologytohandletheevent,drawinginterface,two-dimensionalarraybyarandomcode,inadditiontoachievingtheclickofamousefunction.Snakegameinadditiontoachievingtheeliminationofthepreviousversionofthecommonfeatures,butalsotoachievetheeliminationofthespecialfeaturesthatanypositioncanbeeliminatedaslongasthesametwopictures,thisisthebiggesthighlightofthecompleteset.Besidesthis,Ialsoaddedacompletesetofbackgroundmusictobombfunction,theuserexperiencehasmadeagreatbreakthroughthinking.ThroughthisSnakegamedesignwillmakemeadeepunderstandingoftheSwingcomponents,eventhandling,thethreecharacteristicsofjavalanguage-encapsulation,inheritance,polymorphism.AllthesewillIlaterdevelopedtheprogramlaidasolidfoundationandtheabilitytosensethefoundation.Keywords:lianliankangame;Swing;arrays目录摘要.iAbstract.ii第一章绪论.1一、连连看游戏开发介绍.1二、游戏的发展概况.1三、游戏操作.2四、游戏设计的目的.2第二章系统需求分析.3一、游戏玩法说明和功能说明.3二、游戏可行性论证.4三、主要问题.4四、技术要求.4五、设计要求.4(一)开发环境及工具.4(二)理论基础.5(三)开发环境及工具介绍.5第三章系统的概要设计.8一、引言.8(一)编写目的.8(二)设计背景说明.8二、总体设计.8(一)需求规定.8(二)运行环境.9(三)功能需求与程序的关系.9(四)各个功能按钮的介绍.9(五)基本设计概念和处理流程.10三、接口设计.10(一)用户接口.10(二)外部接口.11(三)内部接口.11四、运行设计.11(一)运行控制.11(二)运行时间.11五、系统数据结构设计.11(一)逻辑结构设计要点.11第四章系统的设计与实现.12一、游戏的设计.12(一)功能设计.12(二)模块设计.15(三)算法设计.17(四)类的设计.18二、游戏的实现.19(一)关键算法的实现.19(二)游戏界面实现.25(三)游戏算法.31第五章系统的运行及测试.33一、游戏运行情况.33二、测试计划和异常处理.37三、软件测试综述.37(一)本游戏开发过程中的软件测试.38(二)测试用例.39结论.43参考文献.44致谢.45外文原文.46中文翻译.600第1章绪论1、连连看游戏开发介绍Java2平台包括:标准版(J2SE)、企业版(J2EE)和微缩版(J2ME)这三个版本。J2SE主要用于编写应用软件;J2ME主要用于开发嵌入式系统,如手机操作系统和PDA(PersonalDigitalAssistant),即掌上电脑的编程;J2EE主要用于网络程序的分布式开发,如电子商务信息网站和ERP(企业资源计划系统)的开发。目前电脑电子科技的出产物,以Java2游戏产业为首,全世界范围内的游乐领地被其特殊的乐趣所占领,连连看游戏最初来源为台湾某知名企业旗下的桌面游戏,自从传入大陆之后便风云骤起,以其简洁的页面以及简答的游戏方式,立即火爆起来。让玩家爱不释手,因为版本一再增多,却经久不衰,老而弥坚。由此本人便萌生了编写一个连连看游戏的想法,从而采用swing组件来编程,以此来致敬互联网游戏行业,以及将编程思想深入渗透到生产与生活当中去。2、游戏的发展概况随着互联网的飞速发展,网民数量的增加,各种网络游戏,网页游戏,正在被大批玩家所接受和根植到生活中,部分游戏玩法复杂,费脑伤神,然而不少经典益智小游戏却上手简单,因此受到众多不同年龄段的玩家的追捧。连连看游戏便是其中的佼佼者。无论在哪个网站或者知名网页都存在着“小强”连连看,并且排名一般名列前某,因其具有独特魅力,深受各个年龄段的玩家喜爱,有孩子,青年,也有中年人,老年人。娱乐、情趣、益智是连连看游戏的精髓。连连看游戏,只要用三根以内的直线,将两张相同的图片连在一起,就可以进行消除,简单的规则,使玩家上手容易。游戏节奏明快,清晰界面精巧图片,适合玩家细心把玩。网页版中有丰富的道具,加入的公共模式,良好的竞争性。明艳的各种地图片,使玩家拥有良好的体验效果,同时在各个游戏级别,都可以找到目标来挑战,从而长远的地对游戏保持新鲜感与神秘感。连连看游戏是桌面小游戏,最初来自台湾。自从传播进入内地便风靡一时,因为吸引着大多数的程序员去开发各种版本。其中,王达编写的“阿凡达连连看”制作精良而受到海内外玩家的好评,比如国内最知名的“阿凡达系列软件”的骨干产品。因此在2004年,国家版权局将计算机软件著作,权威登记证书授予此项游戏。伴着Flash动漫技术的发展与传播,互联网涌现出现诸多“连连看”在线Flash版本。比如“砖石连连看”、“蔬菜连连看”等,流行的“水晶连连看”以绚丽简介的界面吸引了一大批的女性玩家来玩耍。2008年,社交网络普及全球,平台开放的盛行,“连连看”被注入到社交网络里面。此后“连连看”与QQ空间,百度空间相结合,传播速度1飞速向前,热门的社交游戏由此被连连看开辟了新天地,其中开发者Com历时半年开发且放在漫心游戏开放平台上,推出的“宠物连连看”最受欢迎。3、游戏操作使用鼠标点击界面上中的任一张图片,该图片此时处于“被选中”形态,用不同的样式显现出来;然后用鼠标点击其它图片,如果此时选中图片与首次被点击的图片一样,以及把第一张图片和第二张图片连起来的方式为:连线不多余3根,则此时可以消除这一对图片,否则第一张图片变为“未被选中”形态,而第二张图片被标记为“选中”状态。前提条件连连看游戏界面上有15中图片,共64张,对此进行消除操纵。1失败条件玩家选择牌进行消除的时间为80秒,超过时间而未消除全部图片,此时系统宣布玩家游戏失败。2胜利条件玩家选择牌进行消除的时间为80秒,在规定时间内消除全部图片,此时系统宣布玩家游戏胜利。4、游戏设计的目的经过这次毕业设计,首先我学会了怎么去制作一个游戏程序,以及制作游戏程序的整个开发步骤以及开发原理,java变成的精髓内含。因此我熟悉了项目开发的完整过程,这些为即将到来的毕业,找工作打下了坚实的地基。此外通过本次毕业设计,将四年年来所学的各种诸如数据库,数据结构等专业知识,以及其他方面的例如如何和别人沟通,如何精简代码,如何撰写论文等知识融入到实际生活中。在设计连连看的过程中学习,熟练掌握Java开发的核心思想,百尺竿头更进一步精确记忆Java设计语言的三大内含功效、基本操作和基本方法,同时锻炼了考虑问题、处理问题的能力;锻炼了我进行设计思想、设计问题、实际操作与实际测试、开发过程中对进度的把握、理解问题和归纳文档等能力的加强。1.通过编写连连看游戏,熟练Java代码开发的环境搭建,路径配置,提高自己Java程序编写代码和数据操作的内在能力。2.更大一步熟悉掌握Java程序设计的核心思想。如:(GUI)用户图形化界面的设计、Java多线程编程,swing布局管理器的设置。3.熟练掌握如何用Java代码来编写各种游戏,增强我的动手实践能力和创新思想的综合素质培养与发展。4.Java技术的开放性、安全性和庞大的社会已有资源,以及其跨平台性,即“编写一次,到处运行”的特点,使Java技术成为智能手机软件平台的事实标准。采用Java技术后,编写应用程序和提供服务的人就不必关心接受其服务的手机采用的是什么操作系统和芯片,只要按照Java的要求去写程序就好了;同样,生产手机的厂商也不必顾虑将来谁来提供增值服务。可以看出,采用Java技术,可以建立完整、高效的2无线数据增值服务产业链,从而为用户提供灵活、个性化、内容方式多样的服务。第2章系统需求分析系统需求分析是对所要完成的项目进行具体分析,经过使用文字以及图表的单一或者综合形式分析,用相对容易让程序员理解的方式去描述需求的数据类型、功能实现、行为方式,甚至可以直接评判它的正确性、完美性和一致性。通过查找相关文献资料,对所做的项目进行数据分析,资料整理,做出以下的系统分析。1、游戏玩法说明和功能说明游戏规则:选择一对相同的图片,但此次两张图片相连接是在避开其它图片之后,显现的路径以不超过两个转弯处为准,如满足规则会消除这一对图片而成功。每局游戏里面玩家需要在80s时间内对所有的图片进行消除,则可以完成消除任务并取得胜利。点击鼠标左键1次即为选择图片;点击鼠标右键即为放弃选择图片;对同一图片用鼠标左键连续点击2次即为放弃选择图片;对于游戏一些操作的说明:游戏时间为80s,玩家必须在此时间内完成游戏否则闯关失败!刚开始游戏系统会默认送给玩家三枚炸弹,在玩家觉得游戏局面一片茫然的时候供玩家使用。当玩家对目前图片随机布局不满意时可以点击重新开始按钮,此时系统会变换图片的位置,以此来给玩家更好的体验。当玩家不想继续进行游戏的时候可以点击重新开始按钮,此时系统会变换图片的位置,以此来给玩家更好的体验。游戏帮助,在游戏帮助里面,玩家可以查看游戏规则,胜负条件,以此来给玩家更好的体验。游戏说明,游戏说明里面可以查看游戏版本,游戏信息以及作者的相关信息,以此来给玩家更好的体验。功能说明:【开始】:玩家自己通过消除所有图片,通关游戏【退出】:不想继续连连看游戏时可以点击此按钮【重新开始】:关闭当前游戏,开始另一组图片,进行再次消除【炸弹】:系统默认提供三枚炸弹,此炸弹的功能为炸掉一张图片。【暂停/取消暂停】:当玩家需要思考怎么消除的时候,可以点击“暂停”按钮来使时间停止,思考完毕之后可以点击“取消暂停”按钮,来继续游戏【游戏音乐】:默认在游戏开始之后即为启动项,令玩家在美妙的音乐声中获得心里的舒缓与享受,更能激发玩家玩游戏的兴趣3【特殊玩法】:本人独创,只要是两张相同图片,不论位置如何点击即可进行消除2、游戏可行性论证连连看游戏,是一款经典的游戏,因为操作方便、游乐性极强而受到不同年龄段玩家的喜欢。我通过熟悉的JAVA编程语言,使用Eclipse开发工具,编码实现了一个操作便捷、界面简介、功能完备的连连看游戏。经过此次游戏的开发,深入了解了Java编程思想,GUI开发技术的内涵,掌握了软件开发的基本流程。此次毕业设计开发的连连看游戏是使用图形化界面来实现的,通过Eclipse代码编译器解释翻译后显现一幅图形化界面。界面最上端有一行可选菜单栏,点击菜单栏上各个的按钮,会出现不同的下拉菜单,点击“开始”按钮进入连连看游戏界面,游戏界面是由64个方格子组成,每一个小方格被一个图片覆盖着,用鼠标点击其中任一张图片,之后再次进行选择,下一张图片,如果两次选择的图片相同,则可进行消除,如果不同则点击之后没有任何效果。在算法层面,如果复合代码中要求的算法,满足条件的消除方式就会使图片消失,并且游戏有一定的时间限制,否则没有任何意义。此外游戏还设置有炸弹功能、退出功能、帮助功能等操作简单的按钮,以便玩家对游戏进行操作。3、主要问题开始着手开发连连看游戏初期,有以下几个方面的问题存在:如何“画出”游戏主界面;如何通过代码控制,来实现连连看游戏中图片随机生成;生成后的每种图片必须为偶数张;当游戏开始之后,如何判断鼠标在选择两次之后的图片是否能消去,也就是说图片是不是相同并且判断图片之间路径是否满足要求;如何实现游戏是否结束;结束之后是否输赢;游戏限制玩法及规则。4、技术要求熟练的java编程技巧以及良好的算法基础,以此做铺垫,外加参考部分资料和得到指导老师的耐心指导。5、设计要求(1)开发环境及工具1.开发工具:JDK1.6,Eclipse2.开发技术:J2SE,GUI,多线程。3.操作系统:MicrosoftWindows8。4.开发语言:Core-Java。4(2)理论基础1.JAVA语言基础知识Java是一种简单,面向对象,跨平台,解释,性能很优异的多线程,分布式,可移植,安全,结构,健壮,中立,动态语言;从1995年被SUN公司推出之后,全世界的目光,都被这个的新奇的语言所感染。Core-Java语言包括对标识符的设置、运算符的编写,命名的规范;表达式的书写、数据类型的设定、语句的循环;类的产生、接口的多样化、方法的使用、包的查找等知识的应用以及理解解释。2.GUI编程语言GUI是(GraphicalUserInterface)的缩写,意思是图形用户界面,是基于图形的界面,例如:windows就是一个图形用户界面的操作系统。GUI布局管理包括:流式布局管理器(FlowLayout)排列顺序为从左到右;边界布局管理器(BorderLayout)排列顺序为东,南,西,北,中;网格布局管理器(GridLayout)。事件处理机制包括:事件源:事件发生的组件;事件:用户操作组件;监听器:如果某个事件需要我们处理,就需要添加监听器在发生事件的组件之上。事件处理器:监听器中的各种方法。在组件上添加监听器被之后,组件上面便发生了对对应事件执行指定的方法;动作事件(ActionEvent),在组件上产生并执行之前设定的动做,比如点击鼠标上的按钮或者点击空格按钮,鼠标点击菜单上按钮或者按回车按钮等。3.Eclipse基本操作Eclipse中新建项目,打开项目等基本操作。如何用快捷方式自动生成set方法和get方法,以及对一些jar包的导入,项目的导入以及导出等操作方法的实现。(3)开发环境及工具介绍(1)JDK简介Java是一种可以编写跨平台软件,面向对象的设计语言,由Sun公司在1995年5月推出的。Java程序设计语言和Java平台(即JavaSE,J2EE,J2ME)的总称。Java技术具有卓越的高效性、通用性、平台移植性、安全性,广泛应用于个人PC、游戏控制台、数据中心、科学超级计算机、移动电话以及互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。JDK(JavaDevelopmentKit)是Sun公司针对Java开发员的产品。自从Java发布以来,JDK已经成为使用最广的JavaSDK。JDK是整个Java的核心,包括了Java运行环境,Java工具集和Java基本的类库。了解JDK是java开发必须经历的一步。从SUN的JDK5.0开始,提供了泛型等十分便捷的实用功能,版本也不断更新和发行中,运行速率得到了非常大的改变以及完善。(2)JDK各个版本的特性1997年Servlet技术的产生以及紧接着JSP的产生,为Java对抗PHP,ASP等等服务器端语言带来了筹码。1998年,Sun发布了EJB1.0标准,至此J2EE平台的三个核心技术都已经出现。于是,1999年,Sun正式发布了J2EE的第一个版本。并于51999年底发布了J2EE1.2,在2001年发布了J2EE1.3,2003年发布了J2EE1.4。J2EE1.3的架构,其中主要包含了Applet容器,ApplicationClient容器,Web容器和EJB容器,并且包含了WebComponent,EJBComponent,ApplicationClientComponent,以JMS,JAAS,JAXP,JDBC,JAF,JavaMail,JTA等等技术作为基础。1.3中引入了几个值得注意的功能:Java消息服务(定义了JMS的一组API),J2EE连接器技术(定义了扩展J2EE服务到非J2EE应用程序的标准),XML解析器的一组JavaAPI,Servlet2.3,JSP1.2也都进行了性能扩展与优化,全新的CMP组件模型和MDB(消息Bean)。J2EE1.4大体上的框架和J2EE1.3是一致的,1.4增加了对Web服务的支持,主要是WebService,JAX-RPC,SAAJ,JAXR,还对EJB的消息传递机制进行了完善(EJB2.1),部署与管理工具的增强(JMX),以及新版本的Servlet2.4和JSP2.0使得Web应用更加容易。JAVAEE5拥有许多值得关注的特性。其中之一就是新的JavaStandardTagLibrary(JSTL)1.2规范。JSTL1.2的关键是统一表达式语言,它允许我们在JavaServerFaces(JSF)中结合使用JSTL的最佳特性。(3)JREJRE(JavaRuntimeEnvironment,Java运行环境),运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。JRE为JavaRuntimeEnvironment的简称,JavaRuntimeEnvironment(包括JavaPlug-in)是Sun的产品,包括两部分:JavaRuntimeEnvironment和JavaPlug-in。JavaRuntimeEnvironment(JRE)是可以在其上运行、测试和传输应用程序的Java平台。它包括Java虚拟机(jvm)、Java核心类库和支持文件。它不包含开发工具(JDK)-编译器、调试器和其它工具。JRE需要辅助软件-JavaPlug-in-以便在浏览器中运行applet。JavaPlug-in软件允许JavaApplet和JavaBean组件在使用Sun的JavaRuntimeEnvironment(JRE)的浏览器中运行,而不是在使用缺省的Java运行环境的浏览器中运行。JavaPlug-in可用于NetscapeNavigator和MicrosoftInternetExplorer。J2RE是Java2RuntimeEnvironment,即Java运行环境,只是强调其匹配Java2平台,有时简称JRE。如果你只需要运行Java程序或Applet,下载并安装它即可。如果你要自行开发Java软件,请下载JDK(JRE和JDK的区别)。在JDK中附带有JRE。注意由于Microsoft对Java的支持不完全,请不要使用IE自带的虚拟机来运行Applet,务必安装一个JRE或JDK。(4)Eclipse简介Eclipse是一个源代码开放的、以Java为基础的可扩展开发代码平台。对于其本身来说,它仅仅是一个框架,一组服务。用于搭建开发环境通过使用插件组。然而,Eclipse本身含带了一个标准化的插件集合,包括Java开发工具(JDK),这使得Eclipse异常强大。尽管大多数开发人员对将Eclipse当作Java集成开发环境,来使用并对此乐此不疲,但是Eclipse的目的却不只局限于这些。Eclipse含有插件开发环境(PDE),这个组件主要被希望扩展Eclipse的软件程序员所喜欢,因为它不但允许程序员构建环境而且开发与Eclipse环境天衣无的缝集成的工具集合。应为6Eclipse中的几乎每件东西都为插件,对于为Eclipse提供更多的插件,且给使用者提供格式一样,统一开发的集成代码环境来说,一切工具使用开发者都应该拥有同等的发挥思想和开发内涵的编程场所。这样子的平等性和开发一致性并不仅仅限制于Java开发工具集。Eclipse主要是用来开发Java语言的,但是它的用途广泛,并不只是用来开发Java语言。例如,支持譬如C和C+等编程语言,的插件研发已经可以进行使用,拟将会推出更多语言开发的插件,到时将会出现一个开发工具网罗天下语言开发,届时Eclipse将席卷全球,受到更多开发人员的喜爱。Eclipse开发框架还可用来开发别的东西,与软件代码开发没有关系,却与其它应用程序开发类型的公共基础,譬如文档管理设备系统。以Eclipse为基础开发应用程序,的最知名例子是便是SoftwareArchitect,IBMJava开发工具集合的理论基础便是由此构成。Eclipse专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成EclipsePlatform、JDT、CDT和PDE。JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,EclipsePlatform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。EclipsePlatform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。EclipseSDK(软件开发者包)是EclipsePlatform、JDT和PDE所生产的组件合并,它们可以一次下载。这些部分在一起提供了一个具有丰富特性的开发环境,允许开发者有效地建造可以无缝集成到EclipsePlatform中的工具。到时将会出现一个开发工具网罗天下语言开发,届时Eclipse将席卷全球,受到更多开发人员的喜爱。Eclipse开发框架还可用来开发别的东西,与软件代码开发没有关系,却与其它应EclipseSDK由Eclipse项目生产的工具和来自其它开放源代码的第三方软件组合而成。Eclipse项目生产的软件以GPL发布,第三方组件有各自自身的许可协议。Eclipse以其强大的功能,和简洁却不失功能齐全的操作受到了广大软件开发者的喜欢,能在各种开发软件中脱颖而出,与其特有的操作方式分不开,尽管大多数开发人员对将Eclipse当作Java集成开发环境,来使用并对此乐此不疲,但是Eclipse的目的却不只局限于这些。Eclipse含有插件开发环境(PDE),这个组件主要被希望扩展Eclipse的软件程序员所喜欢,因为它不但允许程序员构建环境而且开发与Eclipse环境天衣无的缝集成的工具集合。应为Eclipse中的几乎每件东西都为插件,对于为Eclipse提供更多的插件,且给使用者因为它不但允许程序员构建环境而且开发与Eclipse环境天衣无的缝集成的工具集合。7第3章系统的概要设计概要设计的主要任务是把需求分析得到的系统扩展用例图转换为软件结构和数据结构。设计软件结构的具体任务是:将一个复杂系统按功能进行模块划分、建立模块的层次结构及调用关系、确定模块间的接口及人机界面等。数据结构设计包括数据特征的描述、确定数据的结构特性、以及数据库的设计。显然,概要设计建立的是目标系统的逻辑模型,与计算机无关。1、引言(1)编写目的软件开发过程中的概要设计,主要解决实现该游戏需求的程序模块设计问题。包括如何把该游戏划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及模块构造的设计等。(2)设计背景说明这次毕业设计主要围绕连连看展开,设计缘由一方面是由于毕业设计的需要,然后本人喜欢使用java语言进行编程,这次毕业设计需要用到其中的GUI编程来实现游戏的设计,另一方面由于今年将举行世界杯,也属于个人爱好。编程加体育运动的爱好边组成了这次毕业设计的先行条件。2、总体设计(1)需求规定表3-1连连看模块和功能项目名称模块功能开始游戏启动游戏暂停游戏使游戏暂时停止于当前状态停止游戏退出界面,停止游戏基于java连连看游戏炸弹对图片随机进行消除8(2)运行环境1.硬件要求:基本无要求,普通计算机即可;2.操作系统:Windows各个版本均可实行;3.程序运行环境:Eclipse,MyEclipse。(3)功能需求与程序的关系本次毕业设计,用如下的矩阵图来说明各项功能,需求的实现,同各块程序的分配关系,在游戏界面可以进行开始游戏和暂停游戏操作;控制按钮控制着游戏的开始和暂停以及结束;炸弹可以对图片进行随机的消除。表3-2模块分配关系图游戏界面控制图片开始游戏重新开始游戏退出游戏炸弹(4)各个功能按钮的介绍a.“开始游戏”按钮:此按钮实现新游戏的首次载入;b.“重新开始游戏”按钮:此按钮用来实现游戏的重新载入;c.“炸弹”按钮:此按钮用来实现随机图片的消除,以便给用户带来良好的体验;d.“退出”按钮:此按钮用来实现游戏的关闭;e.“游戏规则”按钮:此按钮用来查看连连看游戏规则,方便玩家的操作;f.“游戏帮助”按钮:此按钮用来查看版本信息以及关于作者的一些信息。g.“游戏暂停”按钮:此按钮用来暂停游戏。9(5)基本设计概念和处理流程开始鼠标点击位置的确定判断是否点击在图案方块判断判断是否已选定一个图片判断选定第二个图片判断是否可以消除图片判断消除图片消除选定图片的记录结束是是是选定第一个图片否否否图3-1处理项目流程图3、接口设计(1)用户接口本次毕业设计连连看游戏采用事件监听器来实现,每次使用鼠标点击功能按钮或者点击图片进行消除都咬用到监听器,每次对提示窗口的移动也会用到时间监听器。10(2)外部接口1)用户界面:本软件的屏幕格式,按钮格式,输入输出方式都是按照人性化的设计,方便用户执行各种操作。每个按钮按键简单明了,操作简单,互动性强,适用于各类玩家使用。用户通过主界面的按钮进行游戏的控制,同时系统返回一个信息。2)硬件接口:本软件产品的用户需要通过键盘及鼠标进行操作,进行主界面后点击相应上网按钮,进行规定的键盘操作,然后分别在主界面有相应的动作反应。3)本软件与操作平台无关,能适应与各种操作系统。(3)内部接口内部模块之间的接口,是通过内部函数的调用来完成实现的,在程序设计过程中用设计软件本身所带的调用函数实现。这次毕业设计一共设有5个游戏类文件,每个类之间接口调用设计完好。4、运行设计(1)运行控制程序一旦运行,便可进入可视化操作界面,再此界面可以进行各项操作,类如单击开始游戏,进入游戏界面;点击重新开始按钮,会对图片进行随机排列;点击退出按钮则此次游戏终结。(2)运行时间运行时间为每次游戏开始到结束的时间,为了方便操作将此单独作为一个类,且将时间默认设置为80s,可在后台对此时间进行修改,即延长或者缩短,以此来增加游戏难度,给用户带来良好的体验。5、系统数据结构设计(1)逻辑结构设计要点游戏由一个游戏主界面、一个自定义组件页面和5个游戏类文件组成。自定义组件用来说明游戏主界面页面中的“游戏说明”窗口弹出。5个类文件分别为游戏主类Game、图片按钮类MyButton、连线类LX、连通算法类Utils和资源类Res。11第4章系统的设计与实现1、游戏的设计在深入学习和了解算法的基础理论部分之后,接下来便是开始致力于编写算法,基础理论知识和真实算法编写是有一定差距的。基础理论知识是了解算法的开端,也是实施建设的基础,实现算法编码不仅要思考如何把理论知识的部分,体现在具体操作过程中,而且要通过各种实现方法来体现,因此在算法编写的过程中,就必须挑选适当的方法体现出来。(1)功能设计功能设计就是按照产品定位的初步要求,在对用户需求及现有产品进行功能调查分析的基础上,对所定位产品应具备的目标功能系统进行概念性构建的创造活动。使用者需要通过用鼠标点击菜单选项目中的“游戏开始”按钮,来启动新的一局游戏。随后系统便会随机加载不同的图片,然后通过设置好的算法对图片进行排列并且标记图片为选定项,方便接下来判断再次选择的图片是否与之前选定的相同。之后记录图片所在的坐标,从而系统可以很快算出选定的图片可以相连并且消除是否能实现。接下来确定所选图片的大小,确定哪张图片被用户点击。当使用者通过鼠标点击并且选择两幅一样的图片时,如果使用者通过鼠标点击两次选择到的图片不相同,此时程序认为使用者没有进行鼠标点(鼠标点击记数变为零),从而完成用户以后的选择工作。如果此时使用者选取的是两张相同的图片,然后程序会对这两张图片进行消除,且使鼠标记数变为零,然后对这两张图片清除且进行标

温馨提示

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

最新文档

评论

0/150

提交评论