1、摘要I摘要游戏产业发展至今已有三十多年的历史,作为现代电脑电子技术的产物,它正以其独特的魅力在全世界的娱乐领域占领主要地位,而游戏的种类也是多种多样,要想开发一款有独特魅力的游戏占领一席之地必须要明确一点就是游戏本身要具有强大的吸引力,就是要让玩家在玩游戏的同时,既能打发时间,又能在繁忙的工作之余得到最大程度的放松,通过游戏结实更多不同地域的朋友,从而满足人们对休闲的需要。而且游戏产业促进高科技不断升级,作为经济增长的一大支点,俨然即成为经济的“第四产业”。随着科技的发展,硬件水平的提高,游戏新技术层出不穷,更新换代速度之快,经典游戏比比皆是,连连看,就是经典之一。提到连连看小游戏,大家再熟悉
2、不过了,就是指在一个区域内分布着很多不同的图片,这些图片两两一样,但是位置随机,通过点击两张相同的图片,在某种算法路径的要求下达到消除的效果。在游戏设计的过程中,可以考虑运用自己掌握学到的程序知识去实现游戏的效果,并为自己量身打造一款属于自己的连连看,这是一件很有意思的事情。本游戏采用JAVA语言开发,以ECLIPSE为开发平台。游戏主界面基于GUI的开发,使得游戏界面更加简单美观人性化,并调用的一些函数,完成事件的的触发功能,通过定义动态的二维数组,根据一定的算法实现规定的路径判断。关键词连连看、JAVA、数组、路径判断、GUIABSTRACTIIABSTRACTGAMEINDUSTRYHA
3、SBEENTHIRTYYEARSOFHISTORY,ASAPRODUCTOFMODERNCOMPUTERELECTRONICSTECHNOLOGY,ITISTHEMAINOCCUPATIONOFITSUNIQUECHARMPOSITIONWORLDWIDEINTHEENTERTAINMENTFIELD,ANDALSOAVARIETYOFTYPESOFGAMES,INORDERTODEVELOPTHEGAMEHASAUNIQUECHARMTOOCCUPYAPLACEMUSTBECLEARTHATTHEGAMEITSELFTOBEAPOWERFULATTRACTION,ISTOLETTHEPLAY
4、ERSPLAYTHEGAMEATTHESAMETIME,BOTHTOPASSTHETIME,BUTALSOINTHEBUSYWORKTOGETTHEGREATESTDEGREEOFRELAXED,MORESOLIDTHROUGHTHEGAMEDIFFERENTREGIONSOFFRIENDS,TOMEETPEOPLESNEEDFORLEISUREANDTHEGAMEINDUSTRYTOPROMOTEHIGHTECHESCALATINGASECONOMICGROWTHISAMAJORFULCRUM,THEECONOMYSEEMSTOBECOMETHE“FOURTHINDUSTRY“WITHTHE
5、DEVELOPMENTOFTECHNOLOGYTOIMPROVETHEHARDWARELEVEL,THEGAMEISNEWTECHNOLOGYEMERGING,FASTREPLACEMENTRATE,THECLASSICGAMESABOUND,SNAKE,ISONEOFTHECLASSICMENTIONEDLIANLIANKANGAME,ALLTOOFAMILIAR,ANDREFERSTOTHEDISTRIBUTIONINAREGIONWITHMANYDIFFERENTPICTURES,THESEPICTURESBETWEENTWODIFFERENT,BUTRANDOMLOCATION,BYC
6、LICKINGONTWOIDENTICALPICTURESINTHEPATHOFANALGORITHMREQUESTTOELIMINATETHEEFFECTINTHEGAMEDESIGNPROCESS,YOUCANCONSIDERUSINGTHEKNOWLEDGELEARNEDTOMASTERTHEPROGRAMTOACHIEVETHEEFFECTOFTHEGAMEANDFORTHEIROWNTAILORASNAKE,THISISAVERYINTERESTINGTHINGTHEGAMEUSESTHEJAVALANGUAGEDEVELOPMENT,ECLIPSEASADEVELOPMENTPLA
7、TFORMTHEMAINGAMEINTERFACEDEVELOPMENTGUIBASEDINTERFACEMAKESTHEGAMEMORESIMPLEANDBEAUTIFULHUMANITY,ANDSOMEOFTHEFUNCTIONCALL,THECOMPLETIONOFTHETRIGGERINGEVENT,DEFINEDBYATWODIMENSIONALARRAYOFDYNAMIC,ACCORDINGTOCERTAINPRESCRIBEDPATHALGORITHMTODETERMINEKEYWORDSLIANLIANKAN,JAVA,ARRAYS,PATHJUDGMENT,GUI目录III目
8、录摘要IABSTRACTII1绪论111手机游戏发展1111手机游戏现状11111手机游戏技术21112手机游戏开发的特点3112开发手机游戏的JAVA技术31121JAVA概述31122JAVA的特点51123JAVA开发优势71124语言特征71125发展前景8126贡献及影响813论文结构安排914本章小结92大体设计思路1021项目设计与方法10211连连看游戏概述1022游戏设计的目的1023游戏可行性论证1124方案选择1125主要问题1126项目设计内容1127理论基础1228开发目标1329本章小结133具体实现方法143连连看游戏的设计1431系统需求分析1432系统开发及运
9、行环境1433系统主要功能要求1434连连看系统总体结构1535游戏的设计15351功能设计15352游戏模块设计15353算法模块16354界面显示模块17355菜单控制模块18356地图设计18目录IV357算法设计18358类的设计21359算法设计2436本章小结254运行结果及论证274游戏运行及测试分析2741程序运行情况2742测试计划及分析30421检验的先后顺序30422程序异常处理30总结32致谢33参考文献34附录(程序)35河北工程大学毕业设计说明书11绪论11手机游戏发展111手机游戏现状手机的便携性使得手机游戏非常普及,在地铁、车站和公交车里,我们随时都可以看到很多
10、人低头玩着手机游戏。手机已经成为越来越多的人生活中不可或缺的一部分,更多的人也渐渐喜欢上了手机游戏。手机游戏的潜在用户群很庞大,据工业部和信息化部运行监测协调局2008年8月31日发布的统计显示,截止2008年7月底,中国的手机用户数量超过了6亿,而且这个数字还在飞速地增长。通过上述统计不难看出,手机游戏的潜在市场是相当庞大的。手机游戏开发技术门槛很低,而且其开发平台一般都是开放的,开发人员可以从网络上获得很多相关的技术资料,如最近很流行的开发平台J2ME平台,其所有的代码都是开源的,开发人员可以方便地查阅其任何相关资料,而手机厂商也会提供自己品牌的详细参数供开发人员参考。手机游戏的销售渠道越
11、来越广,如今国内比较有名气的SP(SERVICEPROVIDER)有新浪网、空中网以及移动、联通等通信商,CP、SP和运营商之间的关系如图11所示。国内的有些手机游戏CP(CONTENTPROVIDER)都通过寻找国外的代理商来推销游戏,也有很大一部分寻找台湾代理商(在后面的移植章节中会具体介绍)。同时还有很多游戏内置渠道,包括手机厂商、代理和卖场,如NOKIA的OVI。CP先把自己的游戏提交给SP测试CP运营商SP把测试通过的游戏提交给运营商CP测试通过,游戏上线供用户下载运营商CPSP图11CP、SP和运营商之间的关系随着中国3G牌照的发放,手机游戏CP迅猛发展起来,手机游戏市场再次呈现出
12、一派朝气蓬勃的气象。自2003年中国移动和中国联通相继推出“百宝箱”和“神奇宝典”业务以来,国内手机游戏市场日渐扩大,尤其是2006年以后,中国移动把手机游戏定位成其战略性业务,此举动让国内当时众多挣扎在“生死”边缘的手机游戏CP看到了希望。如今,国内手机游戏CP和工作室很多,但是精品游戏却少之又少,最近移动推出的“精品游戏”平台给国内很多手机游戏CP带来了生机,同时也带来了挑战。河北工程大学毕业设计说明书2此外,越来越多的玩家青睐于手机游戏,将更大地促进手机游戏市场的发展以及业务的不断扩大。手机游戏包含很多种类,如KJAVA游戏、SMARTPHONE游戏、BREW游戏和SYMBIAN游戏等,
13、目前,只有KJAVA游戏和BREW游戏支持付费下载,BREW游戏是联通的业务,KJAVA游戏是移动的业务。由于移动的市场份额远远高于联通,所以一般提及的手机游戏主要指KJAVA游戏。2003年9月,中国移动正式推出“百宝箱”业务,“百宝箱”是指提供给手机上网用户下载KJAVA应用程序的平台。当时中国手机游戏的开发商CP曾一度达到1000多家,目前,移动运营商仍然在手机游戏上占有垄断地位。手机游戏产业链为首先由手机游戏CP开发完成游戏,然后再交给SP代理,其合作方式分为买断、分成等,SP再把游戏提交给移动运营商来供玩家下载。其销售额中,移动获得15,剩下的由SP与CP分成。1111手机游戏技术随
14、着手机游戏的普及和玩家群的增大,手机游戏开发技术也日新月异,总体来说,手机游戏技术可以分为如下几类。(1)短信息游戏短信息游戏是相当“古老”的手机游戏,玩家利用手机向某个游戏服务商提供的固定号码发送短信,服务端经过某些操作把结果发给玩家,通过反复这样的操作完成整个游戏。这种类型的游戏只是通过简单的互发短信来实现的,有很大的缺点一是成本昂贵,每发送一条短信需要1毛钱,如象棋类游戏,玩完整个游戏需要“很多资金”支持;二是界面不友好,基本可以说没有界面,只提供文本说明,缺少美感;三是游戏性差,几乎没有任何其他操作,只是简单的发送短信,没有令玩家耳目一新的操作方式;四是支持的游戏种类少。(2)嵌入式游
15、戏某些游戏在出厂时就固化在芯片中,如NOKIA的贪吃蛇、飞行射击等都属于此类游戏,但是玩家并不能安装其他游戏,导致其失去了“优势”。(3)WAP游戏当手机拥有浏览器后,WAP游戏开始兴盛起来。WAP其实就是一个简化的WEB,它专门为移动小型设备提供上网载体,WAP游戏的玩法为玩家通过浏览器登录某个游戏厂商提供的地址,浏览其中的一个或多个页面,并选择其中指定的菜单或文字,提交给游戏服务端,然后通过游戏服务端的反馈信息提示继续下面的游戏。虽然WAP游戏相对于短信息服务有很大的提高,如界面比较友好、支持的游戏种类比较多、价格也比较便宜,但是其游戏性不足,而且在某些国家很少有手机使用WAP,所以此类游
16、戏也在逐渐退出市场。(4)编译语言类游戏C属于编译语言,此类语言把程序代码编译成设备代码执行,用其制作的游戏提供了很好的控制界面,而且运行速度很快。但编译语言类游戏一般都在SERIES60设备上开发,这是其局限性的表现。此外还有PPC手机系统上的游戏也属于此类。河北工程大学毕业设计说明书3(5)解释语言类游戏JAVA属于解释语言,在手机中的应用为J2ME,即专门提供给移动小型设备使用的JAVA语言。如今大部分手机都支持JAVA类游戏,其游戏制作周期短,有很友好的玩家界面、操作控制和游戏性,并且可以通过无线网络进行网络游戏。由于现在JAVA手机很普及,所以J2ME成为很流行的手机游戏编程语言之一
17、。这也是本书主要介绍的编程语言。1112手机游戏开发的特点手机游戏开发和传统的游戏开发有很大的区别,其中包括绝对的优势,但也有很多不利的方面。1优点手机游戏开发团队人数很少,一般只需要36个人就可以完成,甚至一款手机游戏的策划和编程可以是一个人,这在一些小公司是比较常见的。而PC游戏的开发通常需要十几个人的开发团队。另外,手机游戏的开发周期和预算都比较少,而且销售渠道也很方便。PC游戏的开发周期一般是13年,而手机游戏一般在几个月甚至一个月内就可以完成,并且其预算通常只是PC游戏的一个零头。手机游戏一般都可以通过手机无线设备下载到手机中,或者通过数据线把计算机中的手机游戏传到手机上。因此,手机
18、游戏的销售渠道很多,而且简单。通过上述比较,可以发现手机游戏比PC游戏有更大的吸引力。另外,手机游戏拥有PC游戏无法比拟的庞大用户群,据统计,全球有10亿部手机正在使用,并且这个数字还在不断增加,而且其便携性也是PC游戏不能媲美的,玩家可以随时随地玩手机游戏,而不必受场所的限制。2缺点手机游戏也有其缺点,如屏幕尺寸小、游戏时间短、操作简单以及显示效果粗糙等。手机屏幕的尺寸小是无法克服的,虽然现在出现很多大屏的手机,但是和PC比起来显示屏还是很小。另外,手机本身内存的限制使得游戏的大小受到很大的影响,也影响了游戏的时间和显示效果,实际上这主要取决于手机厂商和移动运营商的规定。现在很多智能手机的内
19、存限制很小,一款比较不错的智能手机可以运行几兆的游戏。一般的手机键盘只包括10个数字键及、等操作键,相对于PC上的键盘来说简直是太少了,虽然现在有部分手机的键盘仿照PC键盘设计,但是键盘狭小也限制了玩家的流畅操作。112开发手机游戏的JAVA技术1121JAVA概述河北工程大学毕业设计说明书4美国硅谷有一句行话,每10年15年有一次轮回。最近的一次轮回就是从JAVA开始。JAVA是一个由SUN公司开发的一种可以撰写跨平台应用软件的面向对象的新一代编程语言。使用它可在各式各样不同种机器、不同种操作平台的网络环境中开发软件。不论你使用的是哪一种WWW浏览器,哪一种计算机,哪一种操作系统,只要WWW
20、浏览器上面注明了“支持JAVA”,你就可以看到生动的主页。JAVA自面世后就非常流行,发展迅速,对C语言形成了有力冲击。JAVA技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,JAVA更具备了显著优势和广阔前景。JAVA正在逐步成为INTERNET应用的主要开发语言。它彻底改变了应用软件的开发模式,带来了自PC机以来又一次技术革命,为迅速发展的信息世界增添了新的活力。JAVA带来的影响JAVA虽出现的时间不长,但已被业界接受,IBM、APPLE、
21、DEC、ADOBE、SILICONGRAPHICS、HP、ORACLE、TOSHIBA、NETSCAP和MICROSOFT等大公司已经购买了JAVA的许可证。MICROSOFT还在其WEB浏览器EXPLORER30版中增加了对JAVA的支持。另外,众多的软件开发商也开发了许多支持JAVA的软件产品。在以网络为中心的计算时代,不支持HTML和JAVA,就意味着应用程序的应用范围只能限于同质的环境。JAVA的出现是计算机信息交换的一个重要里程碑。在单机时代,程序进程之间靠共享存储进行变量交换;在网络时代,运行在不同宿主机上的程序按网络协议进行无格式的消息(二进制字符流)交换,消息的语义由交换程序双
22、方维护;在JAVA时代,运行在网络上的程序进程交换的是小应用程序(APPLET)。小应用程序是什么它是一个对象,由一组属性和方法构成,是一个可执行的实体;不仅有数据的状态,而且有定义在数据上的操作。未来可能进行代表(AGENT)交换,代理有一定的智能性,那便是信息交换的更高级阶段。JAVA主要由以下部分组成(1)JAVA模拟器JAVA手机游戏模拟器主要针对诺基亚S60系列手机以及其他大屏手机(小屏游戏也可运行,但不能全屏显示),是一款非常简单而且实用的JAVA游戏模拟器,可以正常运行绝大部分JAVA手机游戏注暂不支持游戏后缀名为SIS的游戏。程序的使用是傻瓜式的,在电脑上安装好以后,所有的游戏
23、JAR文件都会和模拟器相关连,直接双击游戏JAR文件就可以进入模拟器玩游戏啦电脑的小数字键盘和方向键就可以直接控制游戏,与模拟器的按键相对应,当然也可以用鼠标直接点击控制。(2)虚拟机JAVA虚拟机(JAVAVIRTUALMACHINE简称JVMJAVA虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。JAVA虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。引入JAVA语言虚拟机后,JAVA语言在不同平台上运行时不需要重新编译。JAVA语言使用河北工程大学毕业设计说明书5模式JAVA虚拟机屏蔽了与具体平台相关的信息,使得JAVA语言编译程序只需生成在JAV
24、A虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。JAVA虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。(3)内存模型在处理器层面上,内存模型定义了一个充要条件,“让当前的处理器可以看到其他处理器写入到内存的数据”以及“其他处理器可以看到当前处理器写入到内存的数据”。有些处理器有很强的内存模型,能够让所有的处理器在任何时候任何指定的内存地址上都可以看到完全相同的值。而另外一些处理器则有较弱的内存模型,在这种处理器中,必须使用内存屏障(一种特殊的指令)来刷新本地处理器缓存并使本地处理器缓存无效,目的是为了让当前处理器能够看到其他处理器的写操作或者让其他处理器能
25、看到当前处理器的写操作。这些内存屏障通常在LOCK和UNLOCK操作的时候完成。内存屏障在高级语言中对程序员是不可见的。1122JAVA的特点(1)JAVA的主要特点JAVA语言有下面一些特点简单、面向对象、分布式、解释执行、鲁棒、安全、体系结构中立、可移植、高性能及多线程。简单性JAVA语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,只需理解一些基本的概念,就可以用它编写出适合于各种情况的应用程序。面向对象JAVA语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。对象中封装了它的状态变量以及相应的方法,实现了模块化和信息隐藏;而类则提供了一类对象的原型,
26、并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用。分布性JAVA是面向网络的语言。通过它提供的类库可以处理TCP/IP协议,用户可以通过URL地址在网络上很方便地访问其它对象。鲁棒性JAVA在编译和运行程序时,都要对可能出现的问题进行检查,以消除错误的产生。它提供自动垃圾收集来进行内存管理,防止程序员在管理内存时容易产生的错误。另外,JAVA在编译时还可捕获类型声明中的许多常见错误,防止动态运行时不匹配问题的出现。安全性用于网络、分布环境下的JAVA必须要防止病毒的入侵。JAVA不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止程序员使用“特洛伊”木马等欺骗
27、手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。体系结构中立JAVA解释器生成与体系结构无关的字节码指令,只要安装了JAVA运行时系统,JAVA程序就可在任意的处理器上运行。可移植性与平台无关的特性使JAVA程序可以方便地被移植到网络上的不同机器。同时,JAVA的类库中也实现了与不同平台的接口,使这些类库可以移植。另外,JAVA编译器是由JAVA语言实现的,JAVA运行时系统由标准C实现,这使得JAVA系统本身也具有可移植性。河北工程大学毕业设计说明书6解释执行JAVA解释器直接对JAVA字节码进行解释执行。字节码本身携带了许多编译时信息,使得连接过程更加简单。高性能和其它解释执
28、行的语言如BASIC不同,JAVA字节码的设计使之能很容易地直接转换成对应于特定CPU的机器码,从而得到较高的性能。多线程多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易地实现网络上的实时交互行为。(2)JAVAAPPLETJAVA语言的特性使它可以最大限度地利用网络。APPLET是JAVA的小应用程序,它是动态、安全、跨平台的网络应用程序。JAVAAPPLET嵌入HTML语言,通过主页发布到INTERNET。网络用户访问服务器的APPLET时,这些APPLET从
29、网络上进行传输,然后在支持JAVA的浏览器中运行。由于JAVA语言的安全机制,用户一旦载入APPLET,就可以放心地来生成多媒体的用户界面或完成复杂的计算而不必担心病毒的入侵。(3)丰富的类库JAVA提供了大量的类以满足网络化、多线程、面向对象系统的需要。语言包提供的支持包括字符串处理、多线程处理、例外处理、数学函数处理等,可以用它简单地实现JAVA程序的运行平台。实用程序包提供的支持包括哈希表、堆栈、可变数组、时间和日期等。输入输出包用统一的“流“模型来实现所有格式的I/O,包括文件系统、网络、输入等。低级网络包用于实现SOCKET编程。抽象图形用户接口包实现了不同平台的计算机的图形用户接口
30、部件,包括窗口、菜单、滚动条、对话框等,使得JAVA可以移植到不同平台的机器。网络包支持INTERNET的TCP/IP协议,提供了与INTERNET的接口。它支持URL连接,WWW的即时访问,并且简化了用户/服务器模型的程序设计。(4)JAVA和C、C对于变量声明、参数传递、操作符、流控制等,JAVA使用了和C、C相同的传统,使得熟悉C、C的程序员能很方便地进行编程。同时,JAVA为了实现其简单、鲁棒、安全等特性,也摒弃了C和C中许多不合理的内容。如全局变量JAVA程序中,不能在所有类之外定义全局变量,只能通过在一个类中定义公用、静态的变量来实现一个全局变量。GOTOJAVA不支持C、C中的G
31、OTO语句,而是通过例外处理语句TRY,CATCH,FINAL等来代替C、C中用GOTO来处理遇到错误时跳转的情况,使程序更可读且更结构化。指针指针是C、C中最灵活,也是最容易产生错误的数据类型。JAVA对指针进行完全的控制,程序员不能直接进行任何指针操作,例如把整数转化为指针,或者通过指针释放某一内存地址等。同时,数组作为类在JAVA中实现,良好地解决了数组访问越界这一C、C中不作检查的错误。内存管理在JAVA中,所有的数据结构都是对象,通过运算符NEW为它们分配内存堆。通过NEW得到对象的处理权,而实际分配给对象的内存可能随程序运行而改变,JAVA对此自动河北工程大学毕业设计说明书7地进行
32、管理并且进行垃圾收集,有效防止了由于程序员的误操作而导致的错误,并且更好地利用了系统资源。数据类型的支持在JAVA中,对于这些数据类型总是分配固定长度的位数,如对INT型,它总占32位,这就保证了JAVA的平台无关性。1123JAVA开发优势与传统程序不同,SUN公司在推出JAVA之际就将其作为一种开放的技术。全球数以万计的JAVA开发公司被要求所设计的JAVA软件必须相互兼容。“JAVA语言靠群体的力量而非公司的力量”是SUN公司的口号之一,并获得了广大软件开发商的认同。这与微软公司所倡导的注重精英和封闭式的模式完全不同。SUN公司对JAVA编程语言的解释是JAVA编程语言是个简单、面向对象
33、、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。JAVA平台是基于JAVA语言的平台。这样的平台非常流行。因此微软公司推出了与之竞争的NET平台以及模仿JAVA的C语言。JAVA是功能完善的通用程序设计语言,可以用来开发可靠的、要求严格的应用程序。1124语言特征JAVA编程语言的风格十分接近C语言、C语言。JAVA是一个纯粹的面向对象的程序设计语言,它继承了C语言面向对象技术的核心。JAVA舍弃了C语言中容易引起错误的指针(以引用取代)、运算符重载(OPERATOROVERLOADING)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象
34、所占据的内存空间,使得程序员不用再为内存管理而担忧。在JAVA15版本中,JAVA又引入了泛型编程(GENERICPROGRAMMING)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。JAVA不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(BYTECODE),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的执行编译后的字节码需要消耗一定的时间,这同时也在一定程度上降低了JAVA程序的性能。编辑JAVA源代码可以使用任何无格式的纯文本编辑器,在WINDOWS操作系统上可以使用微软记事本(NOT
35、EPAD)、EDITPLUS等程序,在LINUX平台上可使用VI工具等。在记事本中输入如下代码PUBLICCLASSHELLOWWORLD/JAVA程序的入口方法,程序将从这里开始执行PUBLICSTATICVOIDMAINSTRINGARGS/向程序台打印一条语句SYSTEMOUTPRINTLN“HELLOWORLD”河北工程大学毕业设计说明书8编辑上面的JAVA文件时,注意程序中粗体字标识的单词,JAVA程序严格区分大小写。将上面文本保存为HELLOWORLDJAVA,该文件就是JAVA程序的源程序。编写好JAVA程序的源代码后,接下来应该编译该JAVA源文件来生成字节码了。1125发展前
36、景自从SUN被甲骨文收购以后,JAVA的发展前景就变得扑朔迷离起来,很多程序开发者都感到很迷惑。2010年4月9日,被称为JAVA之父的詹姆斯高斯林又在个人博客上宣布离开ORACLE,这一事件更为JAVA的前景增加了一层迷雾。但是在进入5月份之后,一切开始变得明朗起来。在ORACLE的活动发布网站上,连续发布了多个关于JAVA的推广活动。5月12日,ORACLE主要产品负责人DAVEHOFERT将大谈对JAVASE商业应用的改进和革新。根据宣传资料,在这次演讲中,DAVEHOFERT将提到以下问题商业版与社区版本之间平台支持的差异。如何获得专家帮助,以帮助企业增强其JAVA应用。对于旧版本的安
37、全修补问题。可使用的发布工具和更新。6月18、19、20、27日,将分别在赫尔辛基、斯图加特、布达佩斯、伦敦举行ORACLE、SUN专家与用户见面会,在见面会上与用户一起探讨JAVA的发展路线。主要讨论的问题包括ORACLE将如何继续投资和改进JAVA技术,并且还会向用户通报JAVASE、JAVAME专家团队的最新消息、JAVAFX和JDK7最新的消息,以及ORACLEBERKELEYDB的相关信息。5月3日,已经离开ORACLE近一个月的JAVA之父詹姆斯高斯林在他的博客上表达了对NETBEANS69和FX13发布的关心。这两个项目最新版本的发布,可以证明ORACLE已经开始兑现当初的承诺。
38、詹姆斯高斯林在其早期的博客中,也透露了不会放弃JAVA事业,只是需要解决一些与ORACLE之间的法律问题。这一切迹象表明,ORACLE绝对不会轻易放弃JAVA这块巨大的蛋糕,并且ORACLE也开始逐渐学会了对开源社区的尊重。首先在JDK的商业版本方面,ORACLE将会继续深入挖掘JAVA的商业利益,与其固有产品进行更深入的整合。在社区版本方面,ORACLE将与JAVA开发者一起探讨和研发JAVA的技术。这里需要特别提到的一个产品是ORACLEBERKELEYDB,该产品是ORACLE一直支持的一个开源非关系数据库产品,在NOSQL大行其道的今天,如果ORACLE能够将BERKELEYDB与JA
39、VA进行深入整合,将会为JAVA带来更多的活力和生命。从詹姆斯高斯林的表现来看,他似乎与ORACLE之间已经达成某种谅解,并且有进一步合作的可能性。126贡献及影响1991年,SUN公司的JAMESGOSLING,BILLJOE等人,为电视、控制烤面包机等家用电器的交互操作开发了一个OAK(橡树)软件,他是JAVA的前身。当时,OAK并没有引起人们的注意,直到1994年,随着互联网和3W的飞速发展,他们用JAVA编制了HOTJAVA浏览器,得到了SUN公司首席执行官SCOTTMCNEALY的支持,得以研发和发展。由于OAK商标已经被OAKTECHNOLOGY注册,1995年OAK短暂更名为GR
40、EEN,最后更名为JAVA。JAVA的得名还有段小插河北工程大学毕业设计说明书9曲呢,一天,JAVA小组成员正在喝咖啡时,议论给新语言起个什么名字的问题,有人提议用JAVA(JAVA是印度尼西亚盛产咖啡的一个岛屿),这个提议得到了其他成员的赞同,于是就采用JAVA来命名此新语言。很快JAVA被工业界认可,许多大公司如IBMMICROSOFTDEC等购买了JAVA的使用权,并被美国杂志PCMAGAZINE评为1995年十大优秀科技产品。从此,开始了JAVA应用的新篇章。JAVA的诞生是对传统计算机模式的挑战,对计算机软件开发和软件产业都产生了深远的影响(1)软件4A目标要求软件能达到任何人在任何
41、地方在任何时间对任何电子设备都能应用。这样能满足软件平台上互相操作,具有可伸缩性和重用性并可即插即用等分布式计算模式的需求。(2)基于构建开发方法的崛起,引出了CORBA国际标准软件体系结构和多层应用体系框架。在此基础上形成了JAVA2平台和NET平台两大派系,推动了整个IT业的发展。(3)对软件产业和工业企业都产生了深远的影响,软件从以开发为中心转到了以服务为中心。中间提供商,构件提供商,服务器软件以及咨询服务商出现。企业必须重塑自我,B2B的电子商务将带动整个新经济市场,使企业获得新的价值,新的增长,新的商机,新的管理。(4)对软件开发带来了新的革命,重视使用第三方构件集成,利用平台的基础
42、设施服务,实现开发各个阶段的重要技术,重视开发团队的组织和文化理念,协作,创作,责任,诚信是人才的基本素质。13论文结构安排第一章是对项目开发的背景介绍,从手机游戏和JAVA的发展两方面来展开;第二章是对游戏开发前一些可行性论证以及需求进行分析;第三章是具体对各个模块进行分析与实现;第四章对项目进行测试论证以及出现的问题;最后是结论概括。14本章小结本章首先通过对手机游戏的简单介绍引导读者走入手机游戏世界,并简单介绍其发展和产业的现状,最后讲解了目前比较流行的手机游戏类型。希望读者通过阅读本章能够对手机游戏这个行业有更深的了解,也希望读者能更加熟悉游戏行业,甚至整个游戏产业。其中的手机游戏技术
43、简单地介绍了现今手机游戏产业中使用的技术,对读者的学习起到提示作用。本章还讲解了JAVA语言的基础部分,其中包括JAVA语言基本规则、对象、数组应用、文件操作和JAVA语言编程规范。有一定语言基础的读者通过阅读本章内容就可以对此语言有简单的了解,其实所有的语言逻辑结构都是一样的,只要掌握了一种语言的基本规则和语法,就可以根据需求编写出可用的代码。河北工程大学毕业设计说明书102大体设计思路21项目设计与方法211连连看游戏概述当今社会,休闲型游戏越来越得到人们的喜爱,我们所做的设计实例“连连看游戏的设计与实现”是近几年来网络上非常流行的一种二维休闲游戏,它对电脑配置要求不高,娱乐性强,易于上手
44、。此次设计所使用的语言为JAVA,开发环境为JCREATOR。主要应用到SWING组件,JAVA小程序,事件及接口等。这些接口为游戏的制作提供了便捷的条件,本系统的主要特点就是运用SWING组件和事件处理技术,进行界面的绘制,鼠标的操作,以及积分的显示等功能。这次通过连连看的设计开发将对理解SWING组件技术以及事件处理技术在游戏方面的应用起到很大的帮助作用,同时为掌握JAVA编程技术及二维休闲游戏设计的一般方法打下坚实的基础。随着FLASH应用的流行,网上出现了多种在线FLASH版本“连连看”。如“水晶连连看”、“果蔬连连看”等,流行的“水晶连连看”以华丽界面吸引了一大批的女性玩家。不管走到
45、哪个网页游戏网站,连连看游戏总是排在受玩家欢迎排名的前5位,休闲、趣味、益智是连连看玩不厌的精华,且不分男女老少、工薪白领,是一款适合大众的经典网络休闲小游戏22游戏设计的目的通过本次毕业设计,让我们掌握如何制作一个游戏软件,以及制作游戏软件的整个流程,制作游戏软件的步骤,让学生熟悉项目开发的完整过程,为即将到来的就业工作打下基础。另外也通过本次设计将三年来所学的专业知识和其他方面的知识融入到实际应用中,在实际运用中学习和掌握JAVA程序开发的全过程,进一步熟悉掌握JAVA程序设计语言的基础内容、基本技能和方法,同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作
46、与测试、设计过程的观察、理解和归纳能力的提高。(1)主要是能通过开发“连连看”这个小游戏,学会JAVA程序开发的环境搭建与配置,并提高自己JAVA程序设计编程的实际能力。通过这次。(2)进一步熟悉掌握JAVA程序设计的基础内容,如用户图形界面设计(GUI)、JAVA多线程编程等。(3)大体了解怎样用JAVA来编写小游戏,增强我们实践能力和创新精神的综合培养。河北工程大学毕业设计说明书1123游戏可行性论证“连连看”游戏是一个经典的游戏,它因操作简单、娱乐性强而广受欢迎。我们通过所学的JAVA,利用MYECLIPSE设计一个操作简单、界面美观、功能齐全的“连连看游戏”。通过本游戏的开发,达到学习
47、JAVA技术和熟悉软件开发流程的目的。这个游戏是用图形界面实现的,通过编译解释后,出现一个图形界面。界面上方有一行菜单栏,点击菜单栏上的按钮,出现下拉菜单,选择开始,进入游戏界面,游戏界面是由若干个小方格组成的,每个小方格有一个图标,点击其中相同的图标,若它们符合算法要求就会消失,且游戏期间有一定的时间限制。游戏还设有炸弹、退出、帮助的功能,方便游戏操作。24方案选择在概要设计阶段,主要有两中方案可供选择(1)所有的图片都是按约定好的种类数和在同一区域的重复次数随机出现,并且每张图片的的出现次数为偶数,时间会有限制,每一关的图片数量或种方案的设计思想,时间是不同的,这样就增加了游戏的难度。(2
48、)在同一区域中,图片出现的种类数和重复次数是可以由玩家选择的,时间由游戏约定。不过玩家选择的种类数和重复次数必须是偶数才可以顺利完成游戏,否则游戏虽然可以正常运行,但无法完成游戏。在第一种方案中,由于出现的图像按种类数和重复次数都由软件约定,这样就缺乏玩家自主选择的空间,只是在玩系统已经是设定好的游戏,不能改变什么,这样就在无意中降低了玩家在游戏的过程中乐趣,最后致使玩家放弃继续玩下去。我们参考了网络上的连连看游戏,考虑到游戏的娱乐性。所以我们放弃第一种方案的设计思想,参考网络上流行的连连看的游戏,设计出第2种方案。25主要问题开始制作游戏时,主要解决的问题有以下几个方面(1)如何设置整个游戏
49、的界面。(2)如何控制连连看游戏中随机图片的生成切每种图片必须为偶数个;游戏开始后,判断鼠标两次点击的图片能否消去,即图片是否相同且图片之间路径的判断。(3)如何判断游戏是否结束以及输赢的问题。26项目设计内容游戏规则是模仿网络上普通的连连看游戏,主要是鼠标两次点击的图片能否消去的问题。当前,前提是点击两张相同的图片,若点击的是同一张图片或者两张不同的图片,则不予处河北工程大学毕业设计说明书12理。在两张想同图片所能连通的所有路径中,如果存在一条转弯点不多于两个的路径,就可以消去;如果没有,则不予处理。该游戏由若干张不同的图片组成,游戏开始将会随机组合图片,在规则下点击两张相同的图片后图片将会消失。图片全部消完为游戏成功。游戏还将设置退出,再来一局的按钮,并实现该功能,方便用户进行操作。该游戏将有如下内容(1)游戏计时功能游戏会记录从开始到结束所用的时间,并作为历史记录方便玩家下一次突破。(2)刷新功能在游戏界面中没有可以相消的图片时,重新排列剩余图片达到可以消除的目的。(3)提示功能在玩家找不到可选择的相消图片时,游戏可提示一组选择。(4)演示功能对于第一次使用还不熟悉的玩家,游戏将提供演示,自动消除。(5)等级选择功能游戏设有17和随机等几个等级,为了满足不同玩家对不同游戏难度的需求。连连看是运用JCREATOR中的