软件工程毕业设计宝石对对碰手机游戏设计.docx
《软件工程毕业设计宝石对对碰手机游戏设计.docx》由会员分享,可在线阅读,更多相关《软件工程毕业设计宝石对对碰手机游戏设计.docx(42页珍藏版)》请在冰豆网上搜索。
软件工程毕业设计宝石对对碰手机游戏设计
河北农业大学
本科毕业论文(设计)
题目:
宝石对对碰
摘要
游戏设计的历史很悠久,几千年来,从最古老的非洲的Awari游戏,到现在最为优雅的游戏-----围棋,人们设计和玩过的游戏不计其数,许多游戏已经随着时间遗失在历史的长河中了。
除了经典游戏之外,人们总是对新游戏感兴趣,因此一直有对新游戏设计的需求。
手机游戏:
指用户利用随身携带具有广域无线网络联机功能(GPRS或CDMA)的移动终端设备(手机),随时随地进行的游戏。
简单说手机游戏是指运行于手机上的游戏软件。
本文介绍了手机游戏对对碰的开发过程。
论文遵循软件工程的方法,详尽论述了从需求分析、系统分析、概要设计、详细设计、以及测试与调试的整个开发过程,总结了开发过程中的经验及本系统今后的改进方向。
本系统开发成功后可以实现对对碰游戏的登陆,注册,以及游戏的娱乐功能。
Xcode5.0开发工具,采用成熟的软件研制技术,后台数据库采用Sqlite3。
关键词:
对对碰,Xcode、Sqlite3
Abstract
Gamedesignisalonghistory,thousandsofyears,fromthemostancientAfricaAwarigame,nowthemostelegantgame,chess,peopledesignandplaythegametoomanytocount,manygameshavethetimelostinthelongriverofhistory.Inadditiontotheclassicgame,peoplearealwaysinterestedinnewgame,sotherehasbeentothenewdemandofthegamedesign.Mobilephonegame:
referstocarryawirelesswideareanetworkonlinefunctionusingtheuser(GPRSorCDMA)ofthemobileterminal(mobilephone),wheneverandwhereverpossiblethegame.Simplesaidmobilephonegameisrunningonthemobilephonegamesoftware.
Thispaperintroducesthedevelopmentprocessofmobilephonegamesoncolliding.Methodsaccordingtothesoftwareengineering,discussedindetailfromthedemandanalysis,systemanalysis,outlinedesign,detaileddesign,andtestanddebugtheentiredevelopmentprocess,summeduptheimprovementdirectionoftheexperienceofthedevelopmentprocessofthesystemandfuture.
Afterthesuccessofthesystemdevelopmentcanbeachievedonthepuzzlegamelanding,registration,andentertainmentfunction.Xcode5developmenttools,theuseofmaturesoftwaredevelopmenttechnology,back-enddatabaseusingSqlite3.
Keywords:
twoofakind,Xcode,Sqlite3
1.绪论.........................................................................................3
1.1课题背景..........................................................................................3
1.2选题依据和研究意义.....................................................................3
1.3研究现状和发展态势.....................................................................4
2相关开发工具的技术简介.....................................................4
2.1IOS开发技术...................................................................................5
2.2Xcode开发工具介绍........................................................................6
2.3面向对象理论的介绍......................................................................6
2.4SQLite的介绍................................................................................7
3游戏分析与总体设计.............................................................7
3.1游戏功能及规则描述.....................................................................7
3.2游戏流程分析................................................................................8
3.2.1登陆模块.................................................................................9
3.2.2注册模块...............................................................................10
3.2.3主页模块...............................................................................11
3.2.4游戏模块...............................................................................12
4游戏界面实现...................................................................................13
4.1登陆界面....................................................................................13
4.2注册界面....................................................................................14
4.3主界面........................................................................................16
4.4游戏界面....................................................................................17
5核心代码实现和程序的设计模式........................................17
5.1游戏规则的核心算法................................................17
5.2IOS开发中的代理模式...........................................................29
5.3IOS中的MVC设计模式.........................................30
6结束语....................................................................................31
7参考文献................................................................................32
8致谢........................................................................................33
1.绪论
1.1课题背景
现在的移动电话是小型的计算机,它的处理能力与台式机的标准处理能力相比很有限,但是足够运行一个小型的游戏。
现在的手机的一个特性就是它们还是网络计算机,能够高速发送和接收数字数据。
除了语音数据以外,它们还可以发送和接收其它类型的数据。
所以类似《传奇》、《千年》这样的网络游戏也可以在手机上实现。
当然就处理能力和性能而言,当前阶段的支持Java的手机很接近第二代控制台游戏机、80年代中期的家用电脑和早期的手持游戏机。
内存通常很有限--一般128KB到500KB--虽然有些智能手机比如Nokia3650有4MB内存。
与PC相比,它们的输入和显示功能也很有限;小屏幕(许多仍然是黑白屏幕),为电话拨号优化的小键盘并不针对文本输入,以及有限的声音处理能力,中国电子游戏产业的发展,是从上个世纪的80年代末开始兴起的,市场展现过的有大型机游戏、家用游戏、掌机游戏、PC机游戏、动漫游戏、网络游戏、手机游戏等几大类游戏。
80年代末是大型机游戏时代,主要经营游戏厅。
90年初家用游戏和掌机游戏发展较快,主要产品面向家用。
到了90年代中期,个人计算机普及很快,因此PC机游戏比较流行。
随着网络技术的发展,从2000年开始盛行网络游戏。
现在,网络游戏发展很快,是目前游戏产业中规模较大的一个种类。
最近几年,手机游戏、动漫、卡通又开始迅速发展。
游戏产业发展很快,游戏种类不断变化。
1.2选题依据和研究意义
作为运行于手持设备上的应用程序,手机的硬件特征决定了手机游戏的特点。
那什么是手机游戏呢?
相信大家都知道吧!
手机游戏是指运行于手机上的游戏软件。
目前用来编写手机最多的程序是Java语言,见J2ME。
其次是C语言。
是的,就是如此,中国市场以及全球市场庞大的手机用户群,都为手机游戏的发展奠定了良好的基础。
而现在手机本身硬件的发展,也为其支持多项游戏的运行提供了可靠的保障!
(1)庞大的潜在用户群
全球在使用的移动电话已经超过10亿部,而且这个数字每天都在不断增加。
在除美国之外的各个发达国家,手机用户都比计算机用户多。
手机游戏潜在的市场比其他任何平台,比如PlayStation和GameBoy都要大。
(2)便携性
在控制台游戏时代,GameBoy热销的一个原因就是便携性——人们可以随时随地沉浸在自己喜欢的游戏中。
和游戏控制台或者PC相比,手机虽然可能不是一个理想的游戏设备,但毕竟人们总是随时随身携带,这样手机游戏很可能成为人们消遣时间的首选。
(3)支持网络
因为手机是网络设备,在一定限制因素下可以实现多人在线游戏。
现在腾讯的多款游戏、盛大的游戏都支持手机登陆的。
是的,拥有这么大的市场前景和用户群体,手机游戏的迅猛发展是势不可挡的,接下来,都会有更多更好的网络游戏不断面世,相信对于广大的用户朋友来说都都是值得欣喜的!
1.3研究现状和发展态势.
在科技技术与互联网高速发展的社会中,手机游戏能够给人们带来随时随地的并具有广域无线网络联机功能的休闲互动娱乐体验,以获取在现实生活中的精神与娱乐上的享受,在某种程度上满足人们本身的希冀,是一种精神世界地释放。
wsn中国行业咨询网_行业报告_行业分析_市场调研_第三方市场数据提供商wsn中国行业咨询网_行业报告_行业分析_市场调研_第三方市场数据提供商
近几年来,手机游戏快速发展的同时按内容可分为:
角色扮演类、冒险类、格斗类、体育竞速类、电影改版类、棋牌类、益智类、模拟类。
纷繁的手机游戏种类已成为人类线上娱乐生活的不可缺少的最主流载体而存在,各类智能手机伴随着PC网络游戏为基础、3G网络的不断强化为措施的条件下大力迅猛发展手机网络游戏。
虽然手机游戏的用户越来越多,丰富多彩的游戏种类给玩家带来了更多的选择,但是我国的手机游戏行业的发展现状并不乐观,主要因素有:
1)高质量游戏软件开发公司和人才的贫乏,导致无优秀游戏打人市场。
2)游戏创意的匮乏。
大多游戏都只是一味跟风,看到某个游戏成功赢得市场,便改换场景风格、人物造型、故事背景等,其游戏核心一沉不变的思维理念会使玩家产生审美疲劳。
wsn中国行业咨询网_行业报告_行业分析_市场调研_第三方市场数据提供商wsn中国行业咨询网_行业报告_行业分析_市场调研_第三方市场数据提供商
随着手机游戏的商业模式进一步凸显,人们对手机的休闲娱乐功能需求越来越强烈,手机游戏已成为现代人们生活娱乐中必不可少的主流移动终端设备。
游戏应用服务市场促使手机平台的不断提升而日新月异。
据中咨网研究部调研显示,2012年底,我国手机游戏产业有了突飞猛进的发展,手机游戏使用用户比例高达到80%以上,市场规模超过16亿元人民币。
在未来,游戏产品能否在市场中脱颖而出,一切取决于你能玩出什么花样来,这将激发更多的开发商和制作人员攻坚克难创造出高质量的作品,面对手机游戏自身的趣味性、易掌握性、可中断性、交互性,游戏厂商也将面临亘古未见的激烈竞争。
由此可见,手机游戏已是人们日常生活中密不或缺的休闲娱乐方式。
这强有力的促使具有朝阳产业的手机游戏行业朝着健康有序的方向大步前进。
2相关技术的选用与介绍
2.1IOS开发技术
IOS是iPhone,iPodtouch以及iPad等设备的核心操作系统。
IOS平台使用了构建MacOSX时积累的知识,IOSSDK提供了创建IOS应用程序所需要的环境和工具,利用IOSSDK开发应用时所用的编程语言是Objective-C。
IOS平台开发工具和开发技术源于MacOSX,都是以UNIX为基础。
IOS应用程序开发依赖于iPhone软件开发包(SDK),其中SDK继承与Xcode中。
从整体上看,IOS扮演底层硬件和应用程序的中介。
创建的应用程序不能直接访问硬件,而需要和系统接口进行交互。
IOS实现可以看作多个层的集合,底层为所有程序提供基础服务,高层则包含一些复杂的服务和技术。
Cocoatouch层提供了基本的系统行为支持,当需要实现更为复杂的行为和界面时,才考虑向下层探寻技术支持。
UIKit框架:
提供程序运行必须得关键对象,使APP能够捕获用户输入和在屏幕上显示内容。
MapKit框架:
IOS3.0引入该框架,可被嵌入到应用程序的地图界面,该框架包含一个可以滚动的地图视图。
AddressBookUI框架:
IOS3.0引入该框架,用于撰写电子邮件,并将其放入到用户的发件箱排队等候发送。
MessageUI框架:
显示创建或者编辑联系人的标准系统界面。
Media层包含图形、音频、视频等技术。
AVFoundation框架:
用于播放和编辑复杂的音频和视频。
CoreImage框架:
包含高级图像和视频处理功能。
如人脸识别和图像过滤功能。
CoreGraphics框架:
包含2D绘画和合成功能。
MediaPlayer框架:
提供典型的屏幕控件用于播放电影。
QuartzCore框架:
包含CoreAnimation接口。
用于实现复杂的动画和视觉效果。
Coreservice层用于访问较多低级的操作系统服务,如文件存取,联网和常见的数据对象类型。
Foundation框架:
为CoreFoundation框架的许多功能提供Objective-C封装。
CoreFoundation框架:
一组C语言的接口,为IOS应用程序提供基本数据管理和服务功能。
CoreLocation框架:
用于定位设备当前经纬度。
SystemConfiguration:
用于确定设备网络配置的当前状态。
IOS开发限制介绍
(1)平台间差异:
iPhoneOS设备和台式机或笔记本电脑的开发的不同,也和桌面应用程序不同,需要意识到终端开发的特殊性。
(2)屏幕大小的限制:
由于iPhoneOS设备具有高分辨率的小型屏幕,在iPhone5之前设备都是3.5in,iPhone5以及iPhone5c,iPhone5s都是4.0in,在设计应用时需要注意不要放置非必要的元素。
(3)内存限制:
IOS的内存非常有限,避免分配超出设备的可用内存,不然应用程序将终止。
当发生内存过低时,IOS系统将发出警告,需要进行及时清理内存。
同时需要注意避免内存泄露。
(4)窗口显示限制:
在IOS环境上,用户每次只能看到单个窗口。
多个窗口只能顺序访问和查看。
(5)电量限制:
iPhoneOS设备是通过电池供电,而高速运转的系统,大屏幕,上网或看电子书都会消耗电量。
2.2Xcode开发工具介绍
Xcode:
IOS集成开发环境,也是编译器,负责管理应用程序工程。
InterfaceBuilder:
快速原型开发工具,可视化的组装用户UI接口的工具,集成在Xcode中。
Instruments:
功能强大的性能调试工具,以及内存分析工具。
iPhoneSimulator:
MacOSX平台应用程序,它是模拟应用程序,但不能完全模拟所有功能。
IOSSDK:
ISO软件开发工具包。
2.3面向对象理论的介绍
从现实世界中客观存在的事物(即对象)出发来构造软件系统,并在系统构造中尽可能运用人类的自然思维方式,强调直接以问题域(现实世界)中的事物为中心来思考问题,并根据这些事物的本质特点,把它们抽象地表示为系统中的对象,作为系统的基本构成单位(而不是用一些与现实世界中的事物相关比较远,并且没有对应关系的其它概念来构造系统)。
这可以使系统直接地映射问题域,保持问题域中事物及其相互关系的本来面貌。
对象是要研究的任何事物。
从一本书到一家图书馆,单的整数到整数列庞大的数据库、极其复杂的自动化工厂、航天飞机都可看作对象,它不仅能表示有形的实体,也能表示无形的(抽象的)规则、计划或事件。
对象由数据(描述事物的属性)和作用于数据的操作(体现事物的行为)构成一独立整体。
从程序设计者来看,对象是一个程序模块,从用户来看,对象为他们提供所希望的行为。
在对内的操作通常称为方法。
类是对象的模板。
即类是对一组有相同数据和相同操作的对象的定义,一个类所包含的方法和数据描述一组对象的共同属性和行为。
类是在对象之上的抽象,对象则是类的具体化,是类的实例。
类可有其子类,也可有其它类,形成类层次结构。
消息是对象之间进行通信的一种规格说明。
一般它由三部分组成:
接收消息的对象、消息名及实际变元。
三大特性:
封装性:
封装是一种信息隐藏技术,它体现于类的说明,是对象的重要特性。
封装使数据和加工该数据的方法(函数)封装为一个整体,以实现独立性很强的模块,使得用户只能看见到对象的外特性(对象能接受哪些消息,具有哪些处理能力),而对象的内特性(保存内部状态的私有数据和实现加工能力的算法)对用户是隐蔽的。
封装的目的在于把对象的设计者和对象者的使用分开,使用者不必知晓行为实现的细节,只须用设计者提供的消息来访问该对象。
继承性:
“继承”是面向对象软件技术当中的一个概念。
如果一个类A继承自另一个类B,就把这个A称为“B的子类”,而把B称为“A的父类”。
继承可以使得子类具有父类的各种属性和方法,而不需要再次编写相同的代码。
在令子类继承父类的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类的原有属性和方法,使其获得与父类不同的功能。
另外,为子类追加新的属性和方法也是常见的做法。
多态性:
对象根据所接收的消息而做出动作。
同一消息为不同的对象接受时可产生完全不同的行动,这种现象称为多态性。
利用多态性用户可发送一个通用的消息,而将所有的实现细节都留给接受消息的对象自行决定,如是,同一消息即可调用不同的方法。
多态的实现受到继承性的支持,利用类继承的层次关系,把具有通用功能的协议存放在类层次中尽可能高的地方,而将实现这一功能的不同方法置于较低层次,这样,在这些低层次上生成的对象就能给通用消息以不同的响应。
类的多态性提供类方法的多样性,多态性有两种表示方式:
重载和覆盖。
2.4SQLite的介绍
SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。
它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。
SQLite第一个Alpha版本诞生于2000年5月。
至今已经有14个年头,SQLite也迎来了一个版本SQLite3已经发布。
同时它还支持事务处理功能等等。
也有人说它象Microsoft的Access,有时候真的觉得有点象,但是事实上它们区别很大。
比如SQLite支持跨平台,操作简单,能够使用很多语言直接创建数据库,而不象Access一样需要Office的支持。
如果你是个很小型的应用,或者你想做嵌入式开发,没有合适的数据库系统,那么你可以考虑使用SQLite。
到2013年10月17日最新版本是3.8.1。
它的官方网站是:
http:
//www.sqlite.org或者http:
//www.sqlite.com.cn,能在上面获得源代码和文档。
同时因为数据库结构简单,系统源代码也不是很多,也适合想研究数据库系统开发的专业人士
3游戏分析与总体设计
3.1游戏功能及规则描述
游戏在8×10格子的游戏池