斗地主游戏论文初稿.docx

上传人:b****1 文档编号:2992735 上传时间:2023-05-05 格式:DOCX 页数:42 大小:1.06MB
下载 相关 举报
斗地主游戏论文初稿.docx_第1页
第1页 / 共42页
斗地主游戏论文初稿.docx_第2页
第2页 / 共42页
斗地主游戏论文初稿.docx_第3页
第3页 / 共42页
斗地主游戏论文初稿.docx_第4页
第4页 / 共42页
斗地主游戏论文初稿.docx_第5页
第5页 / 共42页
斗地主游戏论文初稿.docx_第6页
第6页 / 共42页
斗地主游戏论文初稿.docx_第7页
第7页 / 共42页
斗地主游戏论文初稿.docx_第8页
第8页 / 共42页
斗地主游戏论文初稿.docx_第9页
第9页 / 共42页
斗地主游戏论文初稿.docx_第10页
第10页 / 共42页
斗地主游戏论文初稿.docx_第11页
第11页 / 共42页
斗地主游戏论文初稿.docx_第12页
第12页 / 共42页
斗地主游戏论文初稿.docx_第13页
第13页 / 共42页
斗地主游戏论文初稿.docx_第14页
第14页 / 共42页
斗地主游戏论文初稿.docx_第15页
第15页 / 共42页
斗地主游戏论文初稿.docx_第16页
第16页 / 共42页
斗地主游戏论文初稿.docx_第17页
第17页 / 共42页
斗地主游戏论文初稿.docx_第18页
第18页 / 共42页
斗地主游戏论文初稿.docx_第19页
第19页 / 共42页
斗地主游戏论文初稿.docx_第20页
第20页 / 共42页
亲,该文档总共42页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

斗地主游戏论文初稿.docx

《斗地主游戏论文初稿.docx》由会员分享,可在线阅读,更多相关《斗地主游戏论文初稿.docx(42页珍藏版)》请在冰点文库上搜索。

斗地主游戏论文初稿.docx

斗地主游戏论文初稿

目录

摘要III

AbstractIII

第1章引言1

1.1课题背景及意义1

1.2课题设计目标1

1.3论文框架结构2

第2章系统分析3

2.1系统功能要求3

2.2系统体系结构4

2.2.1MTK总体软件方案架构4

2.2.2MMI架构4

2.2.2.1框架层(FrameworkLayer)5

2.2.2.2应用层(ApplicationLayer)6

2.2.2.3UI层6

2.3游戏流程图6

2.4本章小结6

3.1概要设计7

3.1.1斗地主游戏的规则简介7

3.1.2各功能模块的详述7

3.1.3算法的详述8

3.1.4主要功能模块的结构8

3.2游戏的规范化9

3.2.1确定目录结构9

3.2.2将相关文件路径加入Plutommi编译配置文件10

3.3资源10

3.3.1字符串资源11

3.3.2菜单资源12

3.3.3图片资源12

第4章手机游戏的实现12

4.1开发环境12

4.1.1编译环境的搭建12

4.1.2VC6.0相关介绍12

4.1.3SourceInsight介绍13

4.1.4其他重要工具介绍13

4.2游戏开发中语言的选择14

4.3代码实现15

4.3.1菜单模块的实现代码21

4.3.2.1游戏开始函数22

第5章手机游戏的运行和调试24

5.1游戏中各模块的运行界面24

5.1.1菜单界面24

5.1.2游戏界面25

5.1.3游戏结束界面25

5.1.4游戏设置界面26

5.1.5帮助界面26

5.2游戏的调试27

5.3游戏的运行28

总结28

参考文献28

致谢29

基于MTK平台开发的斗地主游戏

摘要

随着通信技术的发展和手机的普及,手机现在已经成为人们日常生活中必不可少的工具,人们在使用时也不仅仅把它当成是通讯工具,更愿意用它来娱乐。

所以手机游戏的开发技术越来越为人们所关注。

越来越多的手机软件商投身到手机游戏的制作中。

可以说手机游戏开发具有非常开阔的前景。

MTK是台湾联发科技多媒体芯片提供商的简称,全称叫MediaTek。

基于MTK平台的应用软件,是在电脑中完成手机应用程序的相应代码,当各功能完成后,将最终代码烧录到实际手机中进行真机测试、调试。

 

关键词:

手机;游戏;斗地主;MTK

BasedonMTKplatformdevelopmentSnakeGame

Abstract

Withthedevelopmentofcommunicationtechnologyandthepopularityofmobilephones,mobilephoneshavenowbecomeanindispensabletoolindailylife,notjustwhenpeopleuseitasacommunicationtool,morewillingtouseitforentertainment.Therefore,thedevelopmentofmobilegametechnologyismoreandmorepeopleareconcernedabout.Moreandmoresoftwarevendorstojointhemobilephonetomobilephonegamesproduction.Canbesaidthatmobilegamedevelopmenthasaverybroadprospects.

Taiwan'sMediaTekMTKisaproviderofshortmultimediachip,thefullnamecalledMediaTek.MTKplatformbasedapplications,mobilephonesinthecomputertocompletetheappropriateapplicationcode,whenthefunctioniscompleted,burnittothefinalcodefortheactualphonerealmachinetesting,debugging.

Keywords:

mobilephone;game;Landlords;MTK

第1章引言

斗地主,是个简单的小游戏,但却能给人以放松,让我们从繁重的日常生活中解脱出来.而只有我们的身心得到了娱乐才能更好的投入到新的工作.现在的人,不管是已经工作的,还是还未进入社会的学生,都面临着很大的压力,而这样一款能让我们随时随地都能享受的游戏,其魅力还是不可估量的.

1.1课题背景及意义

斗地主,之所以取这样的名字,其用意还是很明显的.斗地主其实并不贪,它是人不断向前追求的象征.就像现代的人只有不断努力向前才能得到自己想要的.而食物也是随机出现的,就像现在社会存在的机会,而我们只有找好自己的目标才能成功.虽然现在市面上存在着各种各样的游戏版本,可是斗地主其市场还是相当大的.因为它的特殊在于它能吸引人更深入,爱不释手.随着游戏的关卡,其刺激性也更强.可以说该游戏的优势在于它的简单易行,不论是手机,还是小游戏机,都能很快顺利的运行.对于在外忙碌的人,不可能花费大量时间在娱乐上,大型游戏是行不通的,这样的小游戏刚好迎合了他们的需求.

目前市场上MTK平台占有率在20%左右,使用MTK手机的人数如此众多,所以在MTK平台上开发游戏是比较有意义的。

手机游戏的盈利空间非常大,无论是下载时收取一定费用,还是通过广告盈利都是非常可行的。

手机游戏的开发与传统PC机的游戏开发有一定差距,因为手机平台资源有限,所以开发时要处处考虑资源分配问题。

而且,手机已经和现代生活方式紧紧结合在一起,可以说是随身必带品。

所以手机游戏的盈利面因为手机的覆盖率而变得非常广。

1.2课题设计目标

易于学习:

既然手机游戏面向的是普通消费者而不是计算机专家,那么他们不可能深入的学习游戏技巧。

消费者不会花几个小时去研究一个3元的手动操作的游戏。

手机游戏操作的简单性是开发过程中必须要遵循的基本特征。

可中断性:

多任务处理是手机生活方式的基本特征。

手机用户常常在任务(如等一个电子邮件或者等车)之间有一小段时间。

而游戏、日历管理、通讯和工作数据访问使用的是同一个设备。

所以一个好的手机游戏应该提供短时间的娱乐功能,并且允许用户在游戏和工作模式之间顺利切换。

所以在玩游戏的过程中,如果遇到来电或接受到短信这样的优先级最高的进程,要能够保存游戏进程,保证接完来电或查看短信之后还可以继续游戏。

良好的用户界面:

良好的用户界面用户界面更是吸引用户的硬指标。

相关的美术构图、游戏实时性和人性化提示也是必须要考虑的。

所以,在设计过程中,要注意这几个方面的功能,使该游戏更加完善。

1.3论文框架结构

第1章引言:

介绍了课题研究的目的和意义,国内外背景以及课题的设计目标。

第2章系统开发技术简介:

简述了MTK以及MTK体系结构,还阐述了手机游戏的特征、类型、价值链及发展。

第3章手机游戏开发过程:

概述了斗地主游戏的规则简介以及开发环境及其开发环境。

第4章程序调试与运行:

分析了程序调试的步骤与运行的环境。

第2章系统分析

本章简述了MTK以及MTK体系结构,还阐述了手机游戏的特征、类型、价值链及发展。

2.1系统功能要求

基于MTK平台的应用软件,是通过将手机中的应用程序在电脑中完成相应代码后,运用模拟器测试各项功能,当各功能完善后,将最终代码烧录到实际手机中。

MTK使用了Nucleus实时操作系统,MTK在内核做了个内核抽象层的封装,以适应多种实时操作系统,如oscar、ThreadX、Nucleus。

整个软件系统包括Nucleus操作系统、平台设备驱动、协议栈、文件系统、WGUI、MMI、J2ME等。

MMI部分包括了操作系统内核、协议栈、文件系统上层的所有部分。

本游戏是基于MTK平台设计的一款手机游戏——斗地主。

经过详细地分析调查,该游戏具体功能有一下几项:

a)在MTK手机09A系统中,在“多媒体”菜单中的“游戏”菜单中添加一个菜单“斗地主”。

b)进入“游戏”菜单后,有“新游戏”菜单、“继续游戏”菜单、“设置”菜单、“帮助”菜单、“推出”菜单可以进行选择。

c)点击进入“新游戏”菜单,进入斗地主游戏。

游戏界面会出现欢迎界面,等待键盘事件进入游戏。

游戏界面是由一张带有三张A的图片构成,上面布置了一些操作按钮。

通过手机的上下,左右键可以选择要出的牌,左软件和出牌按钮都可把选择的牌出出去。

由于右软件注册了还回事件,所以把“过牌”注册在按钮上。

d)进入“继续游戏”菜单:

如果中途推出游戏,在会把数据全部保存下来,带以后进入游戏时可以通过选择“继续游戏”菜单继续游戏。

因为数据时保存在NVRAM中的,所以即便关机后,也能继续游戏。

d)游戏的结束有两种情况:

失败和成功。

游戏失败的话,会进入游戏失败界面。

游戏胜指手动出牌方最先把牌出完,游戏会弹出一个字符串,提示胜利信息。

e)游戏设置的选择:

点击进入“设置”菜单,可以通过此页面进行游戏声音开与关进行设置。

f)游戏帮助菜单的选择:

进入帮助菜单,可以看到操作游戏的简单说明,以便玩家很快掌握操作技巧。

g)游戏推出菜单的选择:

直接推出游戏,还回到上一个界面。

2.2系统体系结构

MTK成功的秘诀在于其销售的不仅仅是芯片,而是包括软件平台、第三方应用软件在内的完成解决方案。

MTK提交给客户的定制版本中,已经集成了人机界面MMI、GSM/GPRS协议层,实现了E—mail客户端、短信、SIM卡应用。

2.2.1MTK总体软件方案架构

MTK整个软件架构实际上分为五个核心部分,分别是MMI、L2/L3协议栈、Drivers设备驱动、WAP应用和L1层协议栈,其中操作系统(Nucleus)、物理层协议栈(L1ProtocolStack)、驱动程序(Drivers)、GSM协议栈(L2/L3ProtocolStack)和MMI运行于MS(MobileStation)。

Catcher为真机的抓包工具,META为手机参数的调试工具。

图2.1:

MTK软件架构

其中L2/L3/L4层协议栈包含了大量的GSM/GPRS需求以及提供一个优秀的GSM/GPRS平台给应用程序。

而下一节,将详细介绍MTK最重要的部分MMI。

2.2.2MMI架构

MMI(ManMachineInterface)人机界面。

MTK系统的重要属性即为Task。

Task是一个具有一定封装性的软件模块,是操作系统层面的概念,当该模块被执行的时候,可以把它理解为一个独立的进程。

在整个系统运行的过程中,有许多Task,其中MMI也是一个特殊的Task。

MMI部分可以分一下4个主要部分:

Framework(框架层)、Application(应用层)、UILayer(UI层)、MMI与L4层的通信。

MMI整体的架构图如下:

图2.2MTKMMI架构图

2.2.2.1框架层(FrameworkLayer)

顾名思义,框架层就是MTK软件方案中已经设计好的部分,以后客户逻辑将直接使用其已经设计好的特性。

框架层提供如下的核心功能。

消息队列、提供操作系统的抽象、事件句柄、历史机制、NVRAM访问、文件系统管理。

2.2.2.2应用层(ApplicationLayer)

包含用户定义的代码,用来执行业务逻辑,可以提供一下功能:

应用程序基本框架,包括各种先策划能够的应用程序模板、屏幕历史的保护,用于屏幕切换时的数据保存和状态维护、进入一个新屏幕的入口函数,退出当前屏幕的处理函数、按键事件的注册和执行。

2.2.2.3UI层

UI层的重要功能有:

为应用程序提供UI接口功能、提供界面组件。

2.3游戏流程图

经过对游戏的开发进行分析,该游戏的逻辑模型基本如下:

在手机中完成对游戏的设计。

具体流程图如下:

图2.3游戏流程图

2.4本章小结

本章首先对于本游戏的功能需求进行了详细地阐述,了解了游戏中需要完成的各项功能。

其次,对游戏开发基于的系统进行了详细地分析,主要介绍了MTK的软件方案的架构,并主要介绍了MMI部分的架构。

最后,对于游戏的流程进行了简要地概述。

第3章手机游戏设计

本章主要介绍了在该手机游戏的开发过程中游戏的规则简介,介绍了该游戏开发时的环境,并详细讲解了该游戏的设计过程。

3.1概要设计

3.1.1斗地主游戏的规则简介

1、点击“斗地主”游戏菜单进入游戏后,可点击“新游戏”,进入欢迎界面,输入任意键进入游戏!

叫分结束后方可开始游戏。

在游戏中,不论是手动出牌,还是自动出牌都有严格的控制,根据斗地主游戏的规则,定义了不同的牌型:

三带两,三带一,连顺,单顺等。

2、点击进入“继续”,可以读取以往的数据,继续游戏。

不会再有欢迎界面和叫分的过程。

3、在游戏过程中,当有一方剩余的牌为0时,游戏结束。

4、叫分规则,一共有四种叫分的可能,只要有一方选择了某一分值,下面就无法再被重复,手动出牌方的叫分是由玩家根据自己的牌,来选择叫多少分,自动出牌方的叫分时通过计算各自所有牌的总分值大于70且小于100的叫1分,大于100小于140的叫2分,大于140叫3分,小于70分的不叫分。

3.1.2各功能模块的详述

根据游戏的规则,可以将斗地主游戏系统分为一下几个模块:

菜单模块、游戏模块、游戏等级模块、最佳成绩模块、帮助模块。

(1)菜单模块

在菜单模块中,通过MTK系统中的给游戏的模板接口,在模板的接口函数中添加自己的字符串和响应函数,使游戏各个菜单项显示在屏幕上,玩家可以通过上下键高亮自己想要选择的菜单,通过左键或中间键(CenterKey)进入选择的菜单项。

(2)游戏模块

进入新游戏时,可以通过上下,左右键选择要出的牌,左软键或点击屏幕上方的出牌按钮都可以实现出牌。

在游戏中,如果有一方剩余牌为0,游戏结束。

(3)继续游戏模块

当玩家由于某种原因结束了游戏,程序会自动把相关数据保存到NVRAM中,以便以后进入游戏可以继续游戏。

(4)游戏设置模块

游戏设置模块对游戏中是否有音效进行了设置,可以打开音效,也可以打开音效。

(5)帮助模块

在帮助模块中,主要记录了游戏的操作规则、以及游戏中的注意事项。

3.1.3算法的详述

(1)整体的游戏界面格局:

手机的屏为240*320,把手机分成底牌显示区,叫分操作区,出牌操作区和现实剩余牌这四个主要区域。

如下图:

(图3-1)游戏主界面

(2)牌的生成

每次进入新游戏,都会以时间为种子值生成54个不同的值,54个不同的值都代表了扑克牌中不拍花色和不同牌值。

所以每次进入游戏都会生成不同的牌。

(3)牌的选择

每张牌都对应一个flag标记,如果用户按下向上键,则把flag设置为1,并把牌向上突出一块,以显示此张牌已被选中。

(4)出牌

和选择牌的方式相似,出牌后都会设置其对应的标记为flag,手动出牌为1,右上方出牌flag为2,左上方出牌flag为3。

手动出牌没有压过对方的牌时,便会选择“过牌”,此时程序会通过判断flag的值来判断是那方最后出的牌,然后继续出牌。

3.1.4主要功能模块的结构

(1)游戏模块的结构

(图3-2)游戏模块结构图

3.2游戏的规范化

在进行游戏开发前,我们应该做好相应的准备工作,确保自己的代码在加入系统正确规范。

3.2.1确定目录结构

浏览MTK提供的软件代码,发现整个平台软件代码都是由许许多多独立的模块组合起来的,为了遵循其制定的规则,在本游戏中,游戏代码的组织结构如下:

本游戏模块的目录结构:

plutommi\mmi\MyApp:

游戏模块总目录

plutommi\mmi\MyApp\MyAppInc:

模块头文件目录

plutommi\mmi\MyApp\MyAppSrc:

模块源文件目录

(图3-3)文件目录

在MyAppInc中添加四个头文件,分别是:

MyAppDefs.h、MyAppGprot.h、MyAppProt.h、MyAppTypes.h。

在FunAndGamesSrc中建立MyAppSrc.c、MyAppProgram3.c文件,将来程序的实现就完全在该文件中进行描述。

而各文件的主要功能如下:

MyAppSrc.c:

自己定制的屏幕模板。

MyAppProgram3.c:

实现游戏的主要函数

3.2.2将相关文件路径加入Plutommi编译配置文件

修改make\plutommi\mmi_app下的三个文件:

mmi_app.inc——MMI所有头文件所在路径

mmi_app.lis——指明MMI需要编译的所有源文件

mmi_app.pth——指明MMI所有源文件路径

3.3资源

在进行实际的游戏设计之前,需要将游戏中需要的各种资源添加完成。

而在MTK平台中常见的资源包括字符串、图像、菜单、字库、声音、主题等等。

而在开发过程中,最经常用的资源有以下这三种资源:

字符串、图像、菜单。

在MTK平台中,在plutommi\Customer\CustResource\PLUTO_MMI\Res_MMI下你会看到很多Res_前缀的文件,这些都是各个模块的资源文件定义,包括了其所使用的字符串、菜单和图片等。

添加资源的步骤如下:

第一步:

添加文件,为我们游戏模块添加一个资源文件,将其命名为Res_MyApp.c。

在该文件中添加了字符串,图片等资源。

部分截图:

(图3-4)添加字串资源

(图3-5)添加图片资源

第二步:

修改makefile文件,在其中添加我们新增的头文件目录,目录里面包括了与资源文件定义有关的头文件。

打开文件\plutommi\Customer\ResGenerator,增加头文件路径:

-I"../../MMI/MyApp/MyAppInc"。

至此,已经为新增的程序模块做好了基本的资源框架,在添加资源之前,首先定义程序的基础ID.MMI软件系统中,所有程序的资源ID都是独一无二的,必须保证这些ID不能相互冲突。

第一步:

打开文件:

plutommi\mmi\Inc\MMIDataType..h,添加如下语句:

(图3-6)添加ID

第二步:

按照源代码的格式,添加如下宏定义:

(图3-7)添加ID

3.3.1字符串资源

字符串资源的添加分为三项:

ID名称、值、字符串标题。

进入路径plutommi\Customer\CustResource\PLUTO_MMI,打开文件ref_list.txt,可以看到字符串描述文件的具体格式,第一列是字符串ID,第二列是字符串所属的程序模块名字,第三列是指本字符串的最大长度,第四列是字符串具体内容,第五列以后,就是字符串对应的各国语言版本。

具体添加过程为:

(1)打开上述字符串描述文件ref_list.txt,按照上面提到的格式添加自己的数据。

(2)确定字符串ID。

在文件MySnakeResDef.h中添加字符串ID。

(3)字符串装在。

在MyAppResDef.h中,PopulateMyAppRes函数中添加相应字符串代码。

3.3.2菜单资源

菜单是我们添加新的应用程序的一个典型入口,而菜单是按照如下步骤制作的:

(1)确定菜单的ID

整个MMI中用到的菜单ID都位于plutommi\mmi\Inc\GlobalMenuItems.h文件中。

在枚举中添加自己的菜单,一定在MAX_MENU_ITEMS_VALUE之前。

(2)将新的ID整合在游戏菜单中

打开文件plutommi\Customer\CustResource\PLUTO_MMI\Res_MMI\Res_MainMenu.C将菜单整合到ORGANIZER子菜单中。

而当我们上下选择菜单时,系统将会对当前高亮的菜单发出一个通知,这样用户就通过单击当前高亮菜单,执行其注册功能,利用SetHiliteHandler函数,通过参数菜单项的ID和接受通知的函数指针来实现此功能。

3.3.3图片资源

做UI不能没有图片资源,图片资源的加载方式类似字符串:

定义图片ID、在plutommi\Customer\Images\PLUTO240X320\MainLCD目录下新建文件夹MyApp、在文件夹中添加图片、在PopulateMyAppRes()函数中添加图片加载代码。

第4章手机游戏的实现

4.1开发环境

本游戏是以MTK系统作为开发平台,ADS、PERL等编译软件。

VC6.0作为模拟器编译、SourceInsight作为代码编辑工具,Catcher等为调试工具,FlashTool为烧录版本工具。

4.1.1编译环境的搭建

(1)按默认路径安装ARM编译器ads1.2

(2)按默认路径安装ActivePer

(3)MinGW

(4)MSYS

因为MTK整个软件模块异常的庞大复杂,所以采用GNU的make命令来进行编译,使得工程编译更加灵活和便于控制。

4.1.2VC6.0相关介绍

VisualC++是一个功能强大的可视化软件开发工具。

自1993年Microsoft公司推出VisualC++1.0后,随着其新版本的不断问世,VisualC++已成为专业程序员进行软件开发的首选工具。

虽然微软公司推出了VisualC++.NET(VisualC++7.0),但它的应用的很大的局限性,只适用于Windows2000,WindowsXP和WindowsNT4.0。

所以实际中,更多的是以VisualC++6.0为平台。

VisualC++6.0不仅是一个C++编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrateddevelopmentenvironment,IDE)。

VisualC++6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导ClassWizard等开发工具。

这些组件通过一个名为DeveloperStudio的组件集成为和谐的开发环境。

.

4.1.3SourceInsight介绍

SourceInsight是一个面向项目开发的程序编辑器和代码浏览器,它拥有内置的对C/C++,C#和Java等程序的分析。

SourceInsight能分析你的源代码并在你工作的同时动态维护它自己的符号数据库,并自动为你显示有用的上下文信息。

SourceInsight不仅仅是一个强大的程序编辑器,它还能显示referencetrees,classinheritancediagrams和calltrees。

SourceInsight提供了最快速的对源代码的导航和任何程序编辑器的源信息。

就将SourceInsight应用到你的项目开发过程中并切实感受它为你项目开发的效率带来的变化。

SourceInsight提供了快速和革新的访问源代码和源信息的能力。

与众多其它编辑器产品不同,SourceInsight能在你编辑的同时分析你的源代码,为你提供实用的信息并立即进行分析。

4.1.4其他重要工具介绍

(1)Catcher介绍:

Catcher是一个在PC端的工具,用于MTKGSM/GPRS产品。

它的主要功

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

当前位置:首页 > 职业教育 > 中职中专

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2