连连看游戏的设计.docx

上传人:b****8 文档编号:9547837 上传时间:2023-02-05 格式:DOCX 页数:79 大小:591.50KB
下载 相关 举报
连连看游戏的设计.docx_第1页
第1页 / 共79页
连连看游戏的设计.docx_第2页
第2页 / 共79页
连连看游戏的设计.docx_第3页
第3页 / 共79页
连连看游戏的设计.docx_第4页
第4页 / 共79页
连连看游戏的设计.docx_第5页
第5页 / 共79页
点击查看更多>>
下载资源
资源描述

连连看游戏的设计.docx

《连连看游戏的设计.docx》由会员分享,可在线阅读,更多相关《连连看游戏的设计.docx(79页珍藏版)》请在冰豆网上搜索。

连连看游戏的设计.docx

连连看游戏的设计

摘要

游戏产业发展至今已有三十多年的历史,作为现代电脑电子技术的产物,它正以其独特的魅力在全世界的娱乐领域占领主要地位,而游戏的种类也是多种多样,要想开发一款有独特魅力的游戏占领一席之地必须要明确一点就是游戏本身要具有强大的吸引力,就是要让玩家在玩游戏的同时,既能打发时间,又能在繁忙的工作之余得到最大程度的放松,通过游戏结实更多不同地域的朋友,从而满足人们对休闲的需要。

而且游戏产业促进高科技不断升级,作为经济增长的一大支点,俨然即成为经济的“第四产业”。

随着科技的发展,硬件水平的提高,游戏新技术层出不穷,更新换代速度之快,经典游戏比比皆是,连连看,就是经典之一。

提到连连看小游戏,大家再熟悉不过了,就是指在一个区域内分布着很多不同的图片,这些图片两两一样,但是位置随机,通过点击两张相同的图片,在某种算法路径的要求下达到消除的效果。

在游戏设计的过程中,可以考虑运用自己掌握学到的程序知识去实现游戏的效果,并为自己量身打造一款属于自己的连连看,这是一件很有意思的事情。

本游戏采用Java语言开发,以Eclipse为开发平台。

游戏主界面基于GUI的开发,使得游戏界面更加简单美观人性化,并调用的一些函数,完成事件的的触发功能,通过定义动态的二维数组,根据一定的算法实现规定的路径判断。

关键词:

连连看、Java、数组、路径判断、GUI

Abstract

Gameindustryhasbeenthirtyyearsofhistory,asaproductofmoderncomputerelectronicstechnology,itisthemainoccupationofitsuniquecharmpositionworldwideintheentertainmentfield,andalsoavarietyoftypesofgames,inordertodevelopthegamehasauniquecharmtooccupyaplacemustbeclearthatthegameitselftobeapowerfulattraction,istolettheplayersplaythegameatthesametime,bothtopassthetime,butalsointhebusyworktogetthegreatestdegreeofrelaxed,moresolidthroughthegamedifferentregionsoffriends,tomeetpeople'sneedforleisure.Andthegameindustrytopromotehigh-techescalatingaseconomicgrowthisamajorfulcrum,theeconomyseemstobecomethe"fourthindustry."

Withthedevelopmentoftechnologytoimprovethehardwarelevel,thegameisnewtechnologyemerging,fastreplacementrate,theclassicgamesabound,Snake,isoneoftheclassic.MentionedLianliankangame,alltoofamiliar,andreferstothedistributioninaregionwithmanydifferentpictures,thesepicturesbetweentwodifferent,butrandomlocation,byclickingontwoidenticalpicturesinthepathofanalgorithmrequesttoeliminatetheeffect.Inthegamedesignprocess,youcanconsiderusingtheknowledgelearnedtomastertheprogramtoachievetheeffectofthegameandfortheirowntailoraSnake,thisisaveryinterestingthing.

ThegameusestheJavalanguagedevelopment,Eclipseasadevelopmentplatform.ThemaingameinterfacedevelopmentGUI-basedinterfacemakesthegamemoresimpleandbeautifulhumanity,andsomeofthefunctioncall,thecompletionofthetriggeringevent,definedbyatwo-dimensionalarrayofdynamic,accordingtocertainprescribedpathalgorithmtodetermine.

Keywords:

lianliankan,Java,arrays,pathjudgment,GUI

 

1绪论

1.1手机游戏发展

1.1.1手机游戏现状

手机的便携性使得手机游戏非常普及,在地铁、车站和公交车里,我们随时都可以看到很多人低头玩着手机游戏。

手机已经成为越来越多的人生活中不可或缺的一部分,更多的人也渐渐喜欢上了手机游戏。

手机游戏的潜在用户群很庞大,据工业部和信息化部运行监测协调局2008年8月31日发布的统计显示,截止2008年7月底,中国的手机用户数量超过了6亿,而且这个数字还在飞速地增长。

通过上述统计不难看出,手机游戏的潜在市场是相当庞大的。

手机游戏开发技术门槛很低,而且其开发平台一般都是开放的,开发人员可以从网络上获得很多相关的技术资料,如最近很流行的开发平台——J2ME平台,其所有的代码都是开源的,开发人员可以方便地查阅其任何相关资料,而手机厂商也会提供自己品牌的详细参数供开发人员参考。

手机游戏的销售渠道越来越广,如今国内比较有名气的SP(serviceprovider)有新浪网、空中网以及移动、联通等通信商,CP、SP和运营商之间的关系如图1-1所示。

国内的有些手机游戏CP(contentprovider)都通过寻找国外的代理商来推销游戏,也有很大一部分寻找台湾代理商(在后面的移植章节中会具体介绍)。

同时还有很多游戏内置渠道,包括手机厂商、代理和卖场,如NOKIA的OVI。

图1-1CP、SP和运营商之间的关系

随着中国3G牌照的发放,手机游戏CP迅猛发展起来,手机游戏市场再次呈现出一派朝气蓬勃的气象。

自2003年中国移动和中国联通相继推出“百宝箱”和“神奇宝典”业务以来,国内手机游戏市场日渐扩大,尤其是2006年以后,中国移动把手机游戏定位成其战略性业务,此举动让国内当时众多挣扎在“生死”边缘的手机游戏CP看到了希望。

如今,国内手机游戏CP和工作室很多,但是精品游戏却少之又少,最近移动推出的“精品游戏”平台给国内很多手机游戏CP带来了生机,同时也带来了挑战。

此外,越来越多的玩家青睐于手机游戏,将更大地促进手机游戏市场的发展以及业务的不断扩大。

手机游戏包含很多种类,如K-JAVA游戏、Smartphone游戏、BREW游戏和Symbian游戏等,目前,只有K-JAVA游戏和BREW游戏支持付费下载,BREW游戏是联通的业务,K-JAVA游戏是移动的业务。

由于移动的市场份额远远高于联通,所以一般提及的手机游戏主要指K-JAVA游戏。

2003年9月,中国移动正式推出“百宝箱”业务,“百宝箱”是指提供给手机上网用户下载K-JAVA应用程序的平台。

当时中国手机游戏的开发商CP曾一度达到1000多家,目前,移动运营商仍然在手机游戏上占有垄断地位。

手机游戏产业链为:

首先由手机游戏CP开发完成游戏,然后再交给SP代理,其合作方式分为买断、分成等,SP再把游戏提交给移动运营商来供玩家下载。

其销售额中,移动获得15%,剩下的由SP与CP分成。

1.1.1.1手机游戏技术

随着手机游戏的普及和玩家群的增大,手机游戏开发技术也日新月异,总体来说,手机游戏技术可以分为如下几类。

(1)短信息游戏

短信息游戏是相当“古老”的手机游戏,玩家利用手机向某个游戏服务商提供的固定号码发送短信,服务端经过某些操作把结果发给玩家,通过反复这样的操作完成整个游戏。

这种类型的游戏只是通过简单的互发短信来实现的,有很大的缺点:

一是成本昂贵,每发送一条短信需要1毛钱,如象棋类游戏,玩完整个游戏需要“很多资金”支持;二是界面不友好,基本可以说没有界面,只提供文本说明,缺少美感;三是游戏性差,几乎没有任何其他操作,只是简单的发送短信,没有令玩家耳目一新的操作方式;四是支持的游戏种类少。

(2)嵌入式游戏

某些游戏在出厂时就固化在芯片中,如NOKIA的贪吃蛇、飞行射击等都属于此类游戏,但是玩家并不能安装其他游戏,导致其失去了“优势”。

(3)wap游戏

当手机拥有浏览器后,wap游戏开始兴盛起来。

wap其实就是一个简化的Web,它专门为移动小型设备提供上网载体,wap游戏的玩法为玩家通过浏览器登录某个游戏厂商提供的地址,浏览其中的一个或多个页面,并选择其中指定的菜单或文字,提交给游戏服务端,然后通过游戏服务端的反馈信息提示继续下面的游戏。

虽然wap游戏相对于短信息服务有很大的提高,如界面比较友好、支持的游戏种类比较多、价格也比较便宜,但是其游戏性不足,而且在某些国家很少有手机使用wap,所以此类游戏也在逐渐退出市场。

(4)编译语言类游戏

C++属于编译语言,此类语言把程序代码编译成设备代码执行,用其制作的游戏提供了很好的控制界面,而且运行速度很快。

但编译语言类游戏一般都在Series60设备上开发,这是其局限性的表现。

此外还有PPC手机系统上的游戏也属于此类。

(5)解释语言类游戏

Java属于解释语言,在手机中的应用为J2ME,即专门提供给移动小型设备使用的Java语言。

如今大部分手机都支持Java类游戏,其游戏制作周期短,有很友好的玩家界面、操作控制和游戏性,并且可以通过无线网络进行网络游戏。

由于现在Java手机很普及,所以J2ME成为很流行的手机游戏编程语言之一。

这也是本书主要介绍的编程语言。

1.1.1.2手机游戏开发的特点

手机游戏开发和传统的游戏开发有很大的区别,其中包括绝对的优势,但也有很多不利的方面。

(1)优点

手机游戏开发团队人数很少,一般只需要3~6个人就可以完成,甚至一款手机游戏的策划和编程可以是一个人,这在一些小公司是比较常见的。

而PC游戏的开发通常需要十几个人的开发团队。

另外,手机游戏的开发周期和预算都比较少,而且销售渠道也很方便。

PC游戏的开发周期一般是1~3年,而手机游戏一般在几个月甚至一个月内就可以完成,并且其预算通常只是PC游戏的一个零头。

手机游戏一般都可以通过手机无线设备下载到手机中,或者通过数据线把计算机中的手机游戏传到手机上。

因此,手机游戏的销售渠道很多,而且简单。

通过上述比较,可以发现手机游戏比PC游戏有更大的吸引力。

另外,手机游戏拥有PC游戏无法比拟的庞大用户群,据统计,全球有10亿部手机正在使用,并且这个数字还在不断增加,而且其便携性也是PC游戏不能媲美的,玩家可以随时随地玩手机游戏,而不必受场所的限制。

(2)缺点

手机游戏也有其缺点,如屏幕尺寸小、游戏时间短、操作简单以及显示效果粗糙等。

手机屏幕的尺寸小是无法克服的,虽然现在出现很多大屏的手机,但是和PC比起来显示屏还是很小。

另外,手机本身内存的限制使得游戏的大小受到很大的影响,也影响了游戏的时间和显示效果,实际上这主要取决于手机厂商和移动运营商的规定。

现在很多智能手机的内存限制很小,一款比较不错的智能手机可以运行几兆的游戏。

一般的手机键盘只包括10个数字键及*、#等操作键,相对于PC上的键盘来说简直是太少了,虽然现在有部分手机的键盘仿照PC键盘设计,但是键盘狭小也限制了玩家的流畅操作。

1.1.2开发手机游戏的Java技术

1.1.2.1Java概述

美国硅谷有一句行话,每10年~15年有一次轮回。

最近的一次轮回就是从Java开始。

Java是一个由Sun公司开发的一种可以撰写跨平台应用软件的面向对象的新一代编程语言。

使用它可在各式各样不同种机器、不同种操作平台的网络环境中开发软件。

不论你使用的是哪一种WWW浏览器,哪一种计算机,哪一种操作系统,只要WWW浏览器上面注明了“支持Java”,你就可以看到生动的主页。

Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。

Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。

Java正在逐步成为Internet应用的主要开发语言。

它彻底改变了应用软件的开发模式,带来了自PC机以来又一次技术革命,为迅速发展的信息世界增添了新的活力。

Java带来的影响:

Java虽出现的时间不长,但已被业界接受,IBM、Apple、DEC、Adobe、SiliconGraphics、HP、Oracle、Toshiba、Netscap和Microsoft等大公司已经购买了Java的许可证。

Microsoft还在其Web浏览器Explorer3.0版中增加了对Java的支持。

另外,众多的软件开发商也开发了许多支持Java的软件产品。

在以网络为中心的计算时代,不支持HTML和Java,就意味着应用程序的应用范围只能限于同质的环境。

Java的出现是计算机信息交换的一个重要里程碑。

在单机时代,程序进程之间靠共享存储进行变量交换;在网络时代,运行在不同宿主机上的程序按网络协议进行无格式的消息(二进制字符流)交换,消息的语义由交换程序双方维护;在Java时代,运行在网络上的程序进程交换的是小应用程序(applet)。

小应用程序是什么?

它是一个对象,由一组属性和方法构成,是一个可执行的实体;不仅有数据的状态,而且有定义在数据上的操作。

未来可能进行代表(Agent)交换,代理有一定的智能性,那便是信息交换的更高级阶段。

Java主要由以下部分组成:

(1)Java模拟器

Java手机游戏模拟器主要针对诺基亚S60系列手机以及其他大屏手机(小屏游戏也可运行,但不能全屏显示),是一款非常简单而且实用的JAVA游戏模拟器,可以正常运行绝大部分JAVA手机游戏!

注:

暂不支持游戏后缀名为sis的游戏。

程序的使用是傻瓜式的,在电脑上安装好以后,所有的游戏jar文件都会和模拟器相关连,直接双击游戏jar文件就可以进入模拟器玩游戏啦!

电脑的小数字键盘和方向键就可以直接控制游戏,与模拟器的按键相对应,当然也可以用鼠标直接点击控制。

(2)虚拟机

Java虚拟机(JavaVirtualMachine)简称JVMJava虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。

Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。

引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。

Java语言使用模式Java虚拟机屏蔽了与具体平台相关的信息,使得Java语言编译程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。

Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。

(3)内存模型

在处理器层面上,内存模型定义了一个充要条件,“让当前的处理器可以看到其他处理器写入到内存的数据”以及“其他处理器可以看到当前处理器写入到内存的数据”。

有些处理器有很强的内存模型,能够让所有的处理器在任何时候任何指定的内存地址上都可以看到完全相同的值。

而另外一些处理器则有较弱的内存模型,在这种处理器中,必须使用内存屏障(一种特殊的指令)来刷新本地处理器缓存并使本地处理器缓存无效,目的是为了让当前处理器能够看到其他处理器的写操作或者让其他处理器能看到当前处理器的写操作。

这些内存屏障通常在lock和unlock操作的时候完成。

内存屏障在高级语言中对程序员是不可见的。

1.1.2.2Java的特点

(1)Java的主要特点

Java语言有下面一些特点:

简单、面向对象、分布式、解释执行、鲁棒、安全、体系结构中立、可移植、高性能及多线程。

①.简单性:

Java语言是一种面向对象的语言,它通过提供最基本的方法来完成指定的任务,只需理解一些基本的概念,就可以用它编写出适合于各种情况的应用程序。

②.面向对象:

Java语言的设计集中于对象及其接口,它提供了简单的类机制以及动态的接口模型。

对象中封装了它的状态变量以及相应的方法,实现了模块化和信息隐藏;而类则提供了一类对象的原型,并且通过继承机制,子类可以使用父类所提供的方法,实现了代码的复用。

③.分布性:

Java是面向网络的语言。

通过它提供的类库可以处理TCP/IP协议,用户可以通过URL地址在网络上很方便地访问其它对象。

④.鲁棒性:

Java在编译和运行程序时,都要对可能出现的问题进行检查,以消除错误的产生。

它提供自动垃圾收集来进行内存管理,防止程序员在管理内存时容易产生的错误。

另外,Java在编译时还可捕获类型声明中的许多常见错误,防止动态运行时不匹配问题的出现。

⑤.安全性:

用于网络、分布环境下的Java必须要防止病毒的入侵。

Java不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止程序员使用“特洛伊”木马等欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。

⑥.体系结构中立:

Java解释器生成与体系结构无关的字节码指令,只要安装了Java运行时系统,Java程序就可在任意的处理器上运行。

⑦.可移植性:

与平台无关的特性使Java程序可以方便地被移植到网络上的不同机器。

同时,Java的类库中也实现了与不同平台的接口,使这些类库可以移植。

另外,Java编译器是由Java语言实现的,Java运行时系统由标准C实现,这使得Java系统本身也具有可移植性。

⑧.解释执行:

Java解释器直接对Java字节码进行解释执行。

字节码本身携带了许多编译时信息,使得连接过程更加简单。

⑨.高性能:

和其它解释执行的语言如BASIC不同,Java字节码的设计使之能很容易地直接转换成对应于特定CPU的机器码,从而得到较高的性能。

⑩.多线程:

多线程机制使应用程序能够并行执行,而且同步机制保证了对共享数据的正确操作。

通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易地实现网络上的实时交互行为。

(2)JavaAppletJava语言的特性使它可以最大限度地利用网络。

Applet是Java的小应用程序,它是动态、安全、跨平台的网络应用程序。

JavaApplet嵌入HTML语言,通过主页发布到Internet。

网络用户访问服务器的Applet时,这些Applet从网络上进行传输,然后在支持Java的浏览器中运行。

由于Java语言的安全机制,用户一旦载入Applet,就可以放心地来生成多媒体的用户界面或完成复杂的计算而不必担心病毒的入侵。

(3)丰富的类库Java提供了大量的类以满足网络化、多线程、面向对象系统的需要。

①.语言包提供的支持包括字符串处理、多线程处理、例外处理、数学函数处理等,可以用它简单地实现Java程序的运行平台。

②.实用程序包提供的支持包括哈希表、堆栈、可变数组、时间和日期等。

③.输入输出包用统一的"流"模型来实现所有格式的I/O,包括文件系统、网络、输入等。

④.低级网络包用于实现Socket编程。

⑤.抽象图形用户接口包实现了不同平台的计算机的图形用户接口部件,包括窗口、菜单、滚动条、对话框等,使得Java可以移植到不同平台的机器。

⑥.网络包支持Internet的TCP/IP协议,提供了与In-ternet的接口。

它支持URL连接,WWW的即时访问,并且简化了用户/服务器模型的程序设计。

(4)Java和C、C++对于变量声明、参数传递、操作符、流控制等,Java使用了和C、C++相同的传统,使得熟悉C、C++的程序员能很方便地进行编程。

同时,Java为了实现其简单、鲁棒、安全等特性,也摒弃了C和C++中许多不合理的内容。

如:

①.全局变量:

Java程序中,不能在所有类之外定义全局变量,只能通过在一个类中定义公用、静态的变量来实现一个全局变量。

②.Goto:

Java不支持C、C++中的goto语句,而是通过例外处理语句try,Catch,final等来代替C、C++中用goto来处理遇到错误时跳转的情况,使程序更可读且更结构化。

③.指针:

指针是C、C++中最灵活,也是最容易产生错误的数据类型。

Java对指针进行完全的控制,程序员不能直接进行任何指针操作,例如把整数转化为指针,或者通过指针释放某一内存地址等。

同时,数组作为类在Java中实现,良好地解决了数组访问越界这一C、C++中不作检查的错误。

④.内存管理:

在Java中,所有的数据结构都是对象,通过运算符new为它们分配内存堆。

通过new得到对象的处理权,而实际分配给对象的内存可能随程序运行而改变,Java对此自动地进行管理并且进行垃圾收集,有效防止了由于程序员的误操作而导致的错误,并且更好地利用了系统资源。

⑤.数据类型的支持:

在Java中,对于这些数据类型总是分配固定长度的位数,如对int型,它总占32位,这就保证了Java的平台无关性。

1.1.2.3Java开发优势

与传统程序不同,Sun公司在推出Java之际就将其作为一种开放的技术。

全球数以万计的Java开发公司被要求所设计的Java软件必须相互兼容。

“Java语言靠群体的力量而非公司的力量”是Sun公司的口号之一,并获得了广大软件开发商的认同。

这与微软公司所倡导的注重精英和封闭式的模式完全不同。

Sun公司对Java编程语言的解释是:

Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。

Java平台是基于Java语言的平台。

这样的平台非常流行。

因此微软公司推出了与之竞争的.NET平台以及模仿Java的C#语言。

Java是功能完善的通用程序设计语言,可以用来开发可靠的、要求严格的应用程序。

1.1.2.4语言特征

Java编程语言的风格十分接近C语言、C++语言。

Java是一个纯粹的面向对象的程序设计语言,它继承了C++语言面向对象技术的核心。

Java舍弃了C语言中容易引起错误的指针(以引用取代)、运算符重载(operatoroverloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。

在Java1.5版本中,Java又引入了泛型编程(GenericProgrammi

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 商业计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1