游戏毕业论文-英格洛斯接龙设计_第1页
游戏毕业论文-英格洛斯接龙设计_第2页
游戏毕业论文-英格洛斯接龙设计_第3页
游戏毕业论文-英格洛斯接龙设计_第4页
游戏毕业论文-英格洛斯接龙设计_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

GDGMQR03077A/0毕业论文GRADUATIONPAPERFOLLOWINGENGLISHWORD英格洛斯接龙系别班级学生姓名学号指导老师完成日期摘要毕业设计,要求作品更好的要到有创新性和实用性,能运用以前学过的知识来完成设计,经充分的调查与分析后,得出目前大部分的小学生对英语学习不怎感到兴趣,特别是对强记硬背的记住单词更感到枯燥无味,而对游戏游玩却非常感兴趣,最后决定选择目前还没有人做过的休闲娱乐游戏“英格洛斯接龙”游戏开发作为毕业设计项目,希望通过游戏能提高对小学生的学习英语兴趣。“英格洛斯接龙”游戏以英语词汇接龙游戏为原形,游戏规则简单明了,将课堂上的英语词汇练习游戏与现代的动画技术、网络技术及算法相结合,做到界面动感美观,算法精确,在视觉、听觉享受同时巩固和学习英语词汇,提高英语能力和反应能力。游戏以卡通人物为主,主要体现出游戏的活力和游戏的娱乐性。游戏开始我们便仿佛进入一个广阔的大草原上,一辆载满小精灵的火车拌着美妙的音乐开进草原这里所创建的人物生动、有趣,景物生机勃勃,非常有新意,整体界面设计活泼、新鲜,有趣。游戏音乐,游戏图片和算法都是自创,卡通人物随机产生,音乐一直伴随着游戏。英语词汇量丰富,最高可达六级词汇量。功能方面,单人网络版,多人网络对战和多组同时在网络对战功能,另外还实现了计分、计时和单步计时功能。网络功能的实现,使得游戏更富吸引力,也让游戏玩家更具竞争性,计时计分功能的实现增加了游戏趣味性、刺激性和吸引力。在这游戏环境中学习英语,趣味无穷,完全可达到娱乐学习一体的目的。关键字英格洛斯接龙目录一、引言1(一)游戏开发目的1(二)游戏功能1(三)游戏特点1(四)开发工具与运行环境以及安装要求2二、需求分析3(一)背景及需求分析3(二)界面设计分析3(三)游戏功能分析4(四)技术的分析4(五)词汇量分析6(六)游戏行业市场需求信息分析6三、游戏的安装7(一)安装DIRECTX(JUNE2008)7(二)安装游戏的服务端与客户端8(三)成功安装游戏9四、界面设计和需求分析10一游戏设计界面和功能分析10二功能分析及设计15五、算法设计与实现17(一)游戏规则说明17(二)游戏的算法17(三)UML设计与模块功能241服务器端252客户端28六、总结31七、参考文献33一、引言(一)游戏开发目的随着我国动画游戏开发水平的不断提高,许多游戏软件不断涌现。随着电脑的普及,家庭和学校教育对游戏软件提出了新的要求,那就是游戏软件要同时兼备教育和娱乐两种功能,使学生在游戏中开发思维,学习知识。结合我们身边很多小学生对英语学习不感兴趣,而对游戏游玩却非常感兴趣,所以希望所开发的“英语接龙”游戏能提高他们的英语学习兴趣,将记英语单词这无趣的事情转到游戏中来,让学习者能在学习中体会游戏带来的快乐,在游戏中学习英语,即可以学到知识又可以体会快乐,这是我开发这款这款游戏开发的主要目的。(二)游戏功能游戏同时结合游戏者的词汇量和反应速度来挑战游戏,不但极具娱乐性,还能提高记忆单词能力和思维反应能力。游戏的主要功能有游戏的登录房间的创建单人网络游戏多人网络游戏聊天室计时。计分。(三)游戏特点目前还没有类似的游戏,因此该项目具有创新性。多人游戏是非常刺激,并具有挑战性的。因为人类的手计算机的AI聪明多。(AI的意思就是人工智能ARTIFICIALINTELLIGENCE)界面动感美观考虑到让玩家在轻松愉快的游戏环境中游玩,游戏中的所有图片、场景都让人有轻快明朗的感觉,让人联想在广阔的大草原上奔跑游玩,在这游戏氛围中,开开心心学习到英语词汇。而且图片也是经过加工设计的。音乐独创本游戏中的所有背景音乐是原创(叫一位搞音乐朋友花了几天的时间搞出来的),能让人在轻松的背景音乐中进入游戏。游戏算法创新算法是一个游戏的灵魂,它觉得一个游戏本质上的好与坏,在算法也有独特的创新。适合对象所有人群,不过偏向幼儿园还有上小学的学生。可以在游戏的过程中聊天,学会如果更好的沟通,所谓沟通从心开始,沟通更应该从小开始。适合对象所有人群,不过偏向幼儿园还有上小学的学生。(四)开发工具与运行环境以及安装要求图像开发工具采用FLASHMX、PHOTOSHOP、ULEADGIFANIMATOR等为制作游戏界面和背景图的工具。FRUSTRATEDFAMILY为制作音乐的软件。软件开发工具用MICROSOFTVISUALSTUDIO2008PROFSEEIONEDITION全新级的重量级的开发环境,MANAGEDDIRECTXSDK2008支持C的开发包,采用C语言作为程序开发语言。运行平台WINDOWSXP/VISTA/WINDOW2000/WINDOW2003。安装要求该游戏需要NETFRAMEWORK框架和DIRECTX插件支持。NETFRAMEWORK框架已包含在安装包中如果原本机子上有已经比NETFRAMEWORK20更新的版本可以选择不安装,DIRECTX插件须自行安装(如果是电脑上装了VISTA系统的可以省略这一步)。二、需求分析(一)背景及需求分析考虑到作为毕业设计,要有创新性和实用性,也要有一定的技术难度。所以本人对网上的游戏产品作了广泛的调查,总结了开发休闲游戏一定要有下面的特点要有吸引力,界面美观有一定的技术难度和科学性在游戏过程中能够锻炼出逻辑思维能力、勉捷的反应能力、超强的记忆力、耐力、意志力。具有一定的文化内涵,将一些基础知识融入其中,达到寓教于乐的效果。结合我们的学习情况,学生从小学到大学,英语都是必考的课程,而很多同学面对英语束手无策,毫无兴趣,而小朋友也应该从小开始培养对学习英语的兴趣,从小学起,因此决定将休闲游戏跟英语学习结合起来,使游戏过程同时也是英语复习和学习的过程。以往的英语接龙游戏都只是几个同学间的口头比赛,很难进行计时计分,且必须要有几个同学一起玩才会玩得开心,现在我们把这种传统的口头游戏变成软件游戏,让游戏者随时都可以玩,可以一个人玩、跟电脑玩或上网跟网友玩,并且实现计时计分功能,让游戏更刺激、更好玩、更有魅力。基于上述原因,经充分的调查与分析后而选定英语学习的游戏作为毕业设计,基于时间问题,暂时先做英格洛斯接龙游戏的大部分功能,在后续时间,有时间将游戏继续的完善,希望广大小朋友们能从游戏中开心学习和巩固英语词汇,增加自己的英语词汇量而且提高自己的记忆力。(二)界面设计分析游戏主要针对小学生而开发的,也可适用于各阶层人士游玩。因此界面设计时主要考虑适合少龄玩家的视观感觉,根据他们追求趣味性和动感性,发自于一颗怜悯而好奇的稚气之心,小动物更能吸引他们的注意和关心,具有趣味的动画更是他们的最爱,因此界面设计以草原为游戏界面的整体背景,以一些精灵和小动物和飞去的蜻蜓作为动态背景,色调方面采用让人轻松愉快的暖色调,对于一些时间、分数、结果等的显示通俗易懂,软件具有很强的美感。(三)游戏功能分析将几个同学间的口头词汇游戏比赛,转换成网络中的游戏,提高游戏的娱乐性和趣味性,对游戏的功能分析后,主要设计如下功能自己一个人玩在规定的时间内输入一个单词,单词的开头必须跟上一个单词最末字母相同,并且要在规定时间内接下一个单词,不能与前面的词汇重复,电脑自动统计所接单词的数量,通过最高记录板记录你的历史最高记录。可以达到锻炼自己的反应能力和输入能力,最重要的是扩充你的英语词汇量。多人网络游戏要求参加者的电脑能连接到互联网,游戏中玩家可以自己开一个游戏房间,跟朋友一起竞赛,也可能加入到其它的房间。游戏的规则是谁接的单词最多为赢家,在超过单步时间时,系统将自动帮你输入,如果这同个游戏中输入同样的单词,不扣分也不加分,所以从中可以看出,为了游戏能够获得胜利,玩家必须对输入过得英语单词要再脑子里有个印象,不然就会输得很惨哦。网络游戏还支持文字聊天,这样既可以达到朋友间彼此互相交流,在娱乐学习中相互成长。计时通过计时检验对词汇的熟练程度。计分通过计分达到竞赛的目的,也可以检验对词汇的掌握量。(四)技术的分析游戏中用了DIRECTX的SDK,MANAGEDDIRECTX是对DIRECTX大部分功能的托管封装,可以用任何支持NET的语言开发。MDX的性能是不用担心的,因为他还是像COMDIRECTX一样提供对硬件层次的访问,大部分功能都是在你的显卡/网卡/声卡上起作用的,托管部分只是他的接口。所以如果不是大型游戏,效率可以忽略。托管代码的对象模型。通常不用操心资源释放的问题。委托是一种引用方法的类型。一旦委托了分配的了方法,委托将与该方法具有相同类型的行为。委托方法的使用可以其他方法一样,具有参数和返回值。另一种说法委托是函数的封装,它代表一“类“函数。他们有符合一定的签名拥有相同的参数列表,返回值类型,同时,委托也可以看成是对函数的抽象,是函数的”类“。此时,委托的实例将代表一个具体的函数。异步回调。由于实例化委托是一个对象,所以可以将其作为一个参数进行传递,也可以将其赋值给属性。这样,方法便可以将一个委托作为参数来接受,并且以后可以调用该委托。这成为异步回调,是在较长的进程完成后用来通知调用方法的常用方法。以这种方式使用委托时,使用委托的代码无需了解有关所用方法的实现方面的任何信息。回调的另外一个常用的用法是自定义的比较方法并将该委托传递给排序方法。与现在技术结合得更好。游戏设计过程中需要考虑到实时的并发时间交互。(1)能够在同时执行多行指令。2通常,只有一个CPU来处理所有的事件,所有的事件共享一个CPU,为每个事件分配一小段的CPU的时间,玩家就认为所有的事件都是同时发生并处理的。延迟计算机通过网络进行通讯可能会有延迟影响游戏的可玩性,如何保持多台PC的时钟同步时一个非常大的挑战。数据丢失在传输过程中,数据不可避免的会有所丢失。可靠性计算机间的通讯有可能是间断的。技术的要点就是要让游戏尽可能的更加顺畅,玩家几乎感觉不到计算机在和其他计算机进行通信。网络模型用了CLIENT/SERVER模型,这种模型也被称为星型模型,有一个服务器(SERVER),所有玩家通过连接SERVER来进行游戏。服务端接收所有客户端发送来的消息,在处理后再将信息发送到客户端。技术的要点就是要让游戏尽可能的更加顺畅,玩家几乎感觉不到计算机在和其他计算机进行通信。(五)词汇量分析词汇量是从小学英语到六级英语词汇,词汇来源于金山词霸,存储在文本文件中。因此词汇的更新和扩展均非常容易,也非常方便增加新的分类,如增加雅思英语、托福英语等等选项,算法方面做简单的修改便可。(六)游戏行业市场需求信息分析2008年娱乐软件协会(ENTERTAINMENTSOFTWAREASSOCIATION)公布的数据表明1视频游戏带动的硬件以及软件的总销售额超过90亿美元。在线游戏(网络游戏)的销售额也突破了50亿美元。便携游戏突破10亿美元。2对游戏的平均年龄在18岁左右。大约60以上的游戏超过16岁。39的玩家是女性。网络游戏的比例其他(40),青少年(44),成年人(12)。受欢迎的3类游戏动作类30,体育类18,竞赛类(10)。嘴受欢迎的3类计算机游戏战略(27),家庭/儿童娱乐类20,射击类16。三、游戏的安装(一)安装DIRECTX(JUNE2008)安装DIRECTX(JUNE2008)如下图11图11安装成功如下图12图12(二)安装游戏的服务端与客户端1游戏服务端安装如下图13图132游戏客户端安装如下图14图14(三)成功安装游戏成功安装完游戏后在电脑桌面会出现下图15GAMESERVER为游戏服务端,GAMECLIENT为游戏客户端图15四、界面设计和需求分析一游戏设计界面和功能分析1打开服务端并启动服务器如下图21图212服务器的功能包括处理客户端发送过来的所有信息然后再分发回客户端。在工作中的服务器如下图22图223打开游戏客户端,登陆网络服务器,界面如图23所示,在界面中输入服务器IP地址和用户名密码,登录服务器后,转入下一步骤。图234进入游戏客户端的平台,点击英语接龙进入房间管理界面,在房间管理界面双击房间可以进入房间,如果想自己创建房间游戏可以在房间管理的空白位置右击鼠标选中新建来创建自己想要创建的房间(玩家可新建并自行命名房间,并选择二人玩、三人玩、四人玩等房间类型)。如下图24,25与26图24图25图265进入房间,等待其他玩家加入游戏,当进入的人数达到房间规定的人数时,开始的按钮会变成可点击的,点击“开始”按钮便可以进入游戏。游戏过程中玩家可以在聊天窗口发送信息互相交流。界面如图27所示和图28图29所示。图27图28图296如果游戏中出现重复的输入则出现如下图的提示,界面如图210图2107游戏结束时,会显示胜负与玩家的分数。界面如图211图211每个窗体都栩栩如生,游戏中的细节更是咄咄逼人,只有在游戏中体会了。二功能分析及设计根据的需求调查与分析和大多数开发者的实际工作,将“英格洛斯接龙”游戏功能设计为网络多人游戏,并附加计时计分功能。多人游戏是联机竞赛功能(局域网或外网都可以设置)。多人网络游戏功能设计如下用户登陆服务器游戏采用用户名、密码和服务器IP地址方式登陆。创建或进入房间可以根据自己的选择,创建自己的房间和加入已有的房间,房间分为单人练习,2人房间,3人房间,4人房间。词汇默认为全部词汇量。游戏设置的单词个数由游戏设计者设定。单词回答的限时时间由游戏设计者设置。五、算法设计与实现(一)游戏规则说明多人网络游戏规则该网络游戏有玩家登录服务器、游戏管理、房间管理等功能,玩家在登录进入游戏平台后,可以选择进入英语接龙游戏,获取系统支持的游戏房间列表,游戏房间定义了允许同时进行同一游戏的玩家数量,在满足游戏开始条件时,同一房间的玩家可以开始游戏。游戏采用多回合抢答模式,先答对者得分,每回合设置答题时间限制,超过限制时间时,系统将自行产生一个答案,所有玩家均不得分,游戏继续。在游戏结束时得分多者获胜。游戏设置的单词的总个数到达时是你本轮游戏的总时间,在这规定的时间里你能输入多少单词直接决定你的胜负;游戏单步时间是你在输入一个单词到接下来输入下一个单词的间隔时间。单单词到达设置的个数时,游戏结束。(二)游戏的算法1加载单词把单词从文本文件中加载进一个变量数组中,根据单词的开头字母进行排序并存储在相应的数组中,算法如下PUBLICSTATICVOIDREADWORDFORINTI0I0ELSEBIGMID1IFSMALLBIGRETURNFALSE2自动产生和填充单词如果在规定的时间没有输入正确的单词,服务器根据玩家输入的最后一个单词随机产生出来一个合乎游戏规则的单词,算法如下PUBLICSTATICSTRINGCOMPUTERTXTSTRINGFRONTINTINDEXFRONTFRONTLENGTH1AINTLENGTHARRTEXTINDEXCOUNTSTRINGTEMPWORDWHILETRUESYSTEMRANDOMR3NEWRANDOMINTNUM3R3NEXT0,LENGTHTEMPWORDARRTEXTINDEXNUM3TOSTRINGBOOLEANREPETITIONWORDBINARYSEARCHTEMPWORD,2IFREPETITIONWORDINWORDADDTEMPWORDRETURNTEMPWORD3游戏引擎采用引擎来统领整个游戏,使游戏在扩充和更新的时候更加容易和方便。下面是游戏引擎的精灵类算法PUBLICCLASSSPRITEICLONEABLEPUBLICSPRITEM_IDM_COUNTERPROTECTEDSPRITESPRITESPRITETHISFOREACHANIMATIONANIMATIONINSPRITEM_ANIMATIONS/设置精灵循环出现M_ANIMATIONSADDANIMATIONANIMATIONCLONEM_CURRENTANIMATIONINDEXSPRITEM_CURRENTANIMATIONINDEXM_NAMESPRITEM_NAMEM_COLLISIONRECTANGLESPRITEM_COLLISIONRECTANGLEM_VELOCITYSPRITEM_VELOCITYM_POSITIONSPRITEM_POSITIONM_SCALESPRITEM_SCALEM_ROTATIONSPRITEM_ROTATIONM_VISIBLESPRITEM_VISIBLEM_ACTIVESPRITEM_ACTIVEM_SHOWALLPIXELSSPRITEM_SHOWALLPIXELSM_OPACITYSPRITEM_OPACITYM_ZORDERSPRITEM_ZORDERM_LOCALMATRIXSPRITEM_LOCALMATRIXPUBLICVOIDADDANIMATIONANIMATION/添加精灵M_ANIMATIONSADDANIMATIONPUBLICINTCOUNTGETRETURNM_ANIMATIONSCOUNTPUBLICINTANIMATIONINDEX/设置并获取精灵索引值SETIFVALUEM_ANIMATIONSCOUNTVALUEM_ANIMATIONSCOUNT1ELSEIFANIMATIONINDEX100GAMED3DSPRITEBEGINSPRITEFLAGSNONEELSEGAMED3DSPRITEBEGINSPRITEFLAGSALPHABLENDINTALPHAM_OPACITY255/100GAMED3DSPRITEDRAW2DM_ANIMATIONSM_CURRENTANIMATIONINDEXCURRENTPICTURETEXTURE,NEWPOINT0,0,0,NEWPOINT0,0,COLORFROMARGBALPHA,255,255,255GAMEDEVICETRANSFORMWORLDM_LOCALMATRIXGAMED3DSPRITEENDPUBLICINTZORDERSETM_ZORDERVALUEGETRETURNM_ZORDERPUBLICINTOPACITYSETM_OPACITYVALUEGETRETURNM_OPACITYPUBLICBOOLSHOWALLPIXELSSETM_SHOWALLPIXELSVALUEGETRETURNM_SHOWALLPIXELSPUBLICBOOLCOLLIDESWITHSPRITESPRITERETURNM_COLLISIONRECTANGLEINTERSECTSWITHSPRITEM_COLLISIONRECTANGLEPUBLICSTATICINTCOMPARISONZORDERSPRITESPRITE1,SPRITESPRITE2INTRSPRITE2M_ZORDERSPRITE1M_ZORDERIFR0RETURNSPRITE2M_IDSPRITE1M_IDELSERETURNRPUBLICVIRTUALOBJECTCLONERETURNNEWSPRITETHISREGIONPRIVATEDATALISTM_ANIMATIONSNEWLISTINTM_CURRENTANIMATIONINDEXSTRINGM_NAME“RECTANGLEM_COLLISIONRECTANGLEVECTOR2M_VELOCITYPOINTFM_POSITIONVECTOR2M_SCALENEWVECTOR21,1FLOATM_ROTATION0BOOLM_VISIBLETRUEBOOLM_ACTIVETRUEBOOLM_SHOWALLPIXELSFALSEINTM_OPACITY99/AUTHORWINNERINTM_ZORDER0MATRIXM_LOCALMATRIXMATRIXIDENTITYINTM_IDSTATICINTM_COUNTERENDREGIONPRIVATEDATA(三)UML设计与模块功能系统采用DOTNETFRAMEWORK20以上版本为开发平台,客户端游戏界面采用DIRECTX技术实现。服务器与客户端之间的通信采用TCP/IP协议实现。系统框架图如图42所示。图42系统框架图本节分别描述服务端和客户端的实现算法,最后描述游戏平台间的协议定义。1服务器端服务器由以下子系统组成通信子系统游戏管理子系统英语接龙游戏组件(1)通信子系统系统采用异步的TCPSOCKET技术实现,信息流图如图43所示。图43信息流图1)GAMESERVER类GAMESERVER是服务器的入口类,该类负责创建一个TCPSOCKET来侦听客户端的接入请求,并将已接入的客户端分配给MESSAGEDISPATCHER管理。2MESSAGEDISPATCHER类MESSAGEDISPATCHER类用来管理消息的接收和发送,MESSAGEDISPATCHER为每个客户端创建一个GAMECONTEXT对象来保持系统相关的信息。接收到客户端的消息后,MESSAGEDISPATCHER解析消息结构并创建一个MESSAGE对象来保存消息,对于游戏平台的控制消息,MESSAGEDISPATCHER将创建一个COMMAND实例并交由CONTROLCOMMANDHANDLER类处理。3CONTROLCOMMANDHANDLER类CONTROLCOMMANDHANDLER类负责处理游戏平台的控制消息,包括以下功能玩家登录玩家由用户名和和密码登录服务器。游戏类型管理(游戏列表、进入游戏、退出游戏)A游戏列表玩家可以通过游戏列表的控制命令从服务器获取系统支持的游戏类型,目前只支持接龙游戏。B进入游戏玩家可以通过选择游戏类型来进入游戏,只有进入游戏后,玩家才能够获取与该游戏相关的房间列表。C退出游戏玩家可以退出游戏,重新进入其它类型的游戏,目前系统只支持接龙游戏。房间管理(房间列表、创建房间、进入房间、离开房间)房间管理的功能必须是在玩家进入游戏后才能够操作的功能。A房间列表玩家登录服务器后,可以通过房间列表进入游戏所支持的房间,房间列表包括房间名称,房间玩家容量,当前房间玩家数量的信息。B创建房间和进入房间创建房间和进入房间是同一命令,通过一个用户标识来区分。玩家可以通过该命令创建一个用户自定义房间或者进入一个系统预设房间。进入房间的条件是当前房间中的玩家数量少于允许的容量。C退出房间玩家可以离开当前房间,离开后可以选择进入其它房间,如果当前房间中的玩家数量只有一人的情况下,正在进行的游戏将会结束。游戏管理(开始游戏、结束游戏)游戏管理必须是玩家进入房间后才能够进行的操作。A开始游戏当房间中玩家数量满足条件后,可以开始游戏的准备,当所有玩家都点击“开始”按钮,做好游戏准备后,游戏才会真正的开始。B结束游戏当玩家结束游戏时,该玩家将离开游戏房间。4玩家状态机CONTROLCOMMANDHANDLER类并没有实际处理上述控制命令,所有命令都在玩家状态机中被处理,玩家状态机如图44所示。图44玩家状态机(2)游戏管理子系统图45管理子系统图如图45所示管理子系统图,游戏管理子系统负责游戏相关信息的维护,GAMEMANAGER维持着游戏列表,游戏由IGAME接口管理,GAME是IGAME的缺省实现,ENGLISHFOLLOWINGGAME是IGAME的一个具体实现,它通过继承GAME类实现房间管理部分的功能,而只是具体化创建游戏实例IGAMEINSTANCE的实现。每一个GAME都可预设一定的系统房间。房间由ROOM类管理,玩家进入房间后,ROOM类将维护着当前玩家的列表。开始游戏时,ROOM将向IGAME请求创建一个游戏示例IGAMEINSTANCE,对于接龙游戏而言,将创建一个ENGLISHFOLLOWINGGAMEINSTANCE实例。(3)英语接龙组件ENGLISHFOLLOWINGGAME负责创建ENGLISHGAMEINSTANCE,ENGLISHGAMEINSTANCE负责处理从客户端传过来的游戏消息。1游戏初始化当ENGLISHGAMEINSTANCE接收到游戏初始化命令后,会生成一个初始化单词,并且向房间中所有玩家广播。2应答当玩家进行接龙时,每输入一个单词都会向服务端提交一个应答消息,ENGLISHGAMEINSTANCE将会判断应答是否正确,分别给予不同的答案,当回答正确后,该玩家的分数将提高,ENGLISHGAMEINSTANCE将向所有玩家广播答案,游戏将进入下一回合。3聊天广播消息玩家可以向同一房间中的其它玩家发送文本广播。ENGLISHGAMEINSTANCE将会转发这些文本信息。2客户端客户端包括游戏平台和英语接龙组件两部分组成。(1)游戏平台游戏平台类构成如图46所示。主要包括二大类GAMEPLATFORM和COMMCLIENT。图46游戏平台类关系图1GAMEPLATFORMGAMEPLATFORM是游戏客户端的主要类,负责主界面的实现,与服务器之间的控制消息的处理和交互。GAMEPLATFORM通过调用PLAYLOGINDIALOG来实现玩家登录功能。在进入房间和等待游戏开始时,GAMEPLATFORM通过WAITFORGAMEDIALOG来显示当前玩家情况。2COMMCLIENT通信类,是一个单件,负责建立与服务端的SOCKET连接。跟服务端一致,客户端也采用异步SOCKET模式。COMMCLIENT还负责接收来自和发送到服务端的消息,并分派给GAMEPLATFORM和ENGLISHFOLLOWINGGAME,分派采用C中的委托实现。(2)英语接龙组件英语接龙类组件图如图47所示。图47英语接龙类组件图1ENGLISHFOLLOWING_GAMEENGLISHFOLLOWING_GAME是实现英语接龙游戏的主要类,负责处理服务的回应和通知信息,和驱动客户端游戏的进行。ENGLISHFOLLOWING_GAME继承自GAME类,GAME类是一个通用的游戏基类,负责创建DIRECTX相关的设备,包括显示设备,输入设备等,还维持着游戏刷新的数据信息,这些信息由TEXT2D和SPRITE类实现游戏界面的绘制。2TEXT2D负责游戏文本信息的绘制,其子类CWORD负责英语单词的绘制,SPRITE负责图像的绘制。3MUSIC和SOUND类负责背景音乐和提示音的播放控制。六、总结通过这个毕业项目设计,我总结一个经验,在一个软件项目开发中,无论规模大小,它们的工作都要规范化,否则就会程序的混乱,各个功能不协调,到最终致使软件无法正确运行,或者遇到错误时,无所适从,很难以修改错误。为了避免出现编程混乱及今后维护困难的问题,特从以下几个方面进行了规范。1软件设计步骤的规范化一个软件的设计要有详细实效的设计方略,根据实践证明,图51步骤开发软件是正确的。如果只是盲目地开发,而没有适当的计划,到头来开发出来的软件在许多方面存在着不足且不能适合于用户的要求。本软件在开发过程中严格按照图51中要求步骤一步一步实践下去。图51软件设计步骤文件名规范化由于本软件由多人合作共同完成,即使一个人完成也会存在许多的程序名及程序之间或窗体与窗体之间的相互调用问题。为了避免在程序之间的互相调用出现问题,本软件对于每一个程序处理部分都使用了一个较统一且能共识的名字,绝大部分文件名均是以窗体功能为命名依据的,想调用某个窗体,只要知道其功能就能拼写出相应的文件名,对于控件的规范也是如此。变量名规范化在本软件中,每个功能模块都是由大量语句组成,这其中要使用许多的变量,用来存放程序运行时所产生的结果。几个变量的命名对我们来说很简单明了,只要不使用C的保留字就行;但是,上百个变量的命名就不那么容易,这很容易导致开发者命名的混乱,因此在编写程序时对变量的命名就得采取一定的规律,或者说具有一定的顺序。一方面便于取名,便于记忆这些变量名;二来可以取许多的变量,而不致于使程序运行时出现混乱,模块间值传递的正确性和准确性也得到保证。变量名多采用英语单词组合来命名,通俗易懂,便于维护和更新。在程序中,多采用静态变量,能让游戏在运行的时候更快。静态变量只创建一次,和普通变量的频繁创建销毁比起来,能节约资源。界面设计规范化一个软件,每个窗体的可视性和协调性是很重要的,它们要给用户的感觉和表达的主题应是一致的。本软件最大特点是主题统一,窗体无论是底图或是按钮,都根据动画而展开制作,保证了窗体所包含控件间和窗体与窗体间的一致性和协调性,也给用户一个全新且别致的视觉效果。七、参考文献1C视频游戏开发系列课程,网上资料2C一个睡前的故事,CHRISSELLS3CWINDOW程序设计美CHARLESPETZOLD4C大话设计模式程杰5DIRECTX9中文帮助手册,WUJIEANDLIUKANG,电子版,200610234MICROSOFTDEVELOPPERNETWORKAGANEMPLOYMENTTRIBUNALCLAIEMLOYMENTTRIBUNALSSORTOUTDISAGREEMENTSBETWEENEMPLOYERSANDEMPLOYEESYOUMAYNEEDTOMAKEACLAIMTOANEMPLOYMENTTRIBUNALIFYOUDONTAGREEWITHTHEDISCIPLINARYACTIONYOUREMPLOYERHASTAKENAGAINSTYOUYOUREMPLOYERDISMISSESYOUANDYOUTHINKTHATYOUHAVEBEENDISMISSEDUNFAIRLYFORMOREINFORMU,TAKEADVICEFROMONEOFTHEORGANISATIONSLISTEDUNDERFURTHERHELPEMPLOYMENTTRIBUNALSARELESSFORMALTHANSOMEOTHERCOURTS,BUTITISSTILLALEGALPROCESSANDYOUWILLNEEDTOGIVEEVIDENCEUNDERANOATHORAFFIRMATIONMOSTPEOPLEFINDMAKINGACLAIMTOANEMPLOYMENTTRIBUNALCHALLENGINGIFYOUARETHINKINGABOUTMAKINGACLAIMTOANEMPLOYMENTTRIBUNAL,YOUSHOULDGETHELPSTRAIGHTAWAYFROMONEOFTHEORGANISATIONSLISTEDUNDERFURTHERHELPATIONABOUTDISMISSALANDUNFAIRDISMISSAL,SEEDISMISSALYOUCANMAKEACLAIMTOANEMPLOYMENTTRIBUNAL,EVENIFYOUHAVENTAPPEALEDAGAINSTTHEDISCIPLINARYACTIONYOUREMPLOYERHASTAKENAGAINSTYOUHOWEVER,IFYOUWINYOURCASE,THETRIBUNALMAYREDUCEANYCOMPENSATIONAWARDEDTOYOUASARESULTOFYOURFAILURETOAPPEALREMEMBERTHATINMOSTCASESYOUMUSTMAKEANAPPLICATIONTOANEMPLOYMENTTRIBUNALWITHINTHREEMONTHSOFTHEDATEWHENTHEEVENTYOUARECOMPLAININGABOUTHAPPENEDIFYOURAPPLICATIONISRECEIVEDAFTERTHISTIMELIMIT,THETRIBUNALWILLNOTUSUALLYACCEPTIIFYOUAREWORRIEDABOUTHOWTHETIMELIMITSAPPLYTOYOUIFYOUAREBEINGREPRESENTEDBYASOLICITORATTHETRIBUNAL,THEYMAYASKYOUTOSIGNANAGREEMENTWHEREYOUPAYTHEIRFEEOUTOFYOURCOMPENSATIONIFYOUWINTHECASETHISISKNOWNASADAMAGESBASEDAGREEMENTINENGLANDANDWALES,YOURSOLICITORCANTCHARGEYOUMORETHAN35OFYOURCOMPENSATIONIFYOUWINTHECASEYOUARECLEARABOUTTHETERMSOFTHEAGREEMENTITMIGHTBEBESTTOGETADVICEFROMANEXPERIENCEDADVISER,FOREXAMPLE,ATACITIZENSADVICEBUREAUTOFINDYOURNEARESTCAB,INCLUDINGTHOSETHATGIVEADVICEBYEMAIL,CLICKONNEARESTCABFORMOREINFORMATIONABOUTMAKINGACLAIMTOANEMPLOYMENTTRIBUNAL,SEEEMPLOYMENTTRIBUNALSTHELACKOFAIRUPTHEREWATCHMCAYMANISLANDSBASEDWEBB,THEHEADOFFIFASANTIRACISMTASKFORCE,ISINLONDONFORTHEFOOTBALLASSOCIATIONS150THANNIVERSARYCELEBRATIONSANDWILLATTENDCITYSPREMIERLEAGUEMATCHATCHELSEAONSUNDAY“IAMGOINGTOBEATTHEMATCHTOMORROWANDIHAVEASKEDTOMEETYAYATOURE,“HETOLDBBCSPORT“FORMEITSABOUTHOWHEFELTANDIWOULDLIKETOSPEAKTOHIMFIRSTTOFINDOUTWHATHISEXPERIENCEWAS“UEFAHASOPENEDDISCIPLINARYPROCEEDINGSAGAINSTCSKAFORTHE“RACISTBEHAVIOUROFTHEIRFANS“DURINGCITYS21WINMICHELPLATINI,PRESIDENTOFEUROPEANFOOTBALLSGOVERNINGBODY,HASALSOORDEREDANIMMEDIATEINVESTIGATIONINTOTHEREFEREESACTIONSCSKASAIDTHEYWERE“SURPRISEDANDDISAPPOINTED“BYTOURESCOMPLAINTINASTATEMENTTHERUSSIANSIDEADDED“WEFOUNDNORACISTINSULTSFROMFANSOFCSKA“AGEHASREACHEDTHEENDOFTHEBEGINNINGOFAWORDMAYBEGUILTYINHISSEEMSTOPASSINGALOTOFDIFFERENTLIFEBECAMETHEAPPEARANCEOFTHESAMEDAYMAYBEBACKINTHEPAST,TOONESELFTHEPARANOIDWEIRDBELIEFDISILLUSIONMENT,THESEDAYS,MYMINDHASBEENVERYMESSY,INMYMINDCONSTANTLYALWAYSFEELONESELFSHOULDGOTODOSOMETHING,ORWRITESOMETHINGTWENTYYEARSOFLIFETRAJECTORYDEEPLYSHALLOW,SUDDENLYFEELSOMETHING,DOIT一字开头的年龄已经到了尾声。或许是愧疚于自己似乎把转瞬即逝的很多个不同的日子过成了同一天的样子;或许是追溯过去,对自己那些近乎偏执的怪异信念的醒悟,这些天以来,思绪一直很凌乱,在脑海中不断纠缠。总觉得自己似乎应该去做点什么,或者写点什么。二十年的人生轨迹深深浅浅,突然就感觉到有些事情,非做不可了。THEENDOFOURLIFE,ANDCANMEETMANYTHINGSREALLYDO而穷尽我们的一生,又能遇到多少事情是真正地非做不可DURINGMYCHILDHOOD,THINKLUCKYMONEYANDNEWCLOTHESARENECESSARYFORNEWYEAR,BUTASTHEADVANCEOFTHEAGE,WILLBEMOREANDMOREFOUNDTHATTHOSETHINGSAREOPTIONALJUNIORHIGHSCHOOL,THOUGHTTOHAVEACRUSHONJUSTMEANSTHATTHEREALGROWTH,BUTOVERTHEPASTTHREEYEARSLATER,HISWRITINGOFALUMNIINPEACE,SUDDENLYFOUNDTHATISNTREALLYGROWUP,ITSEEMSISNOTSOIMPORTANTTHENINHIGHSCHOOL,THINKDONTWANTTOGIVEVENTTOOUTYOURINNERVOICECANBEINTHEHIGHSCHOOLCHILDRENOFTHEFEELINGSINAPERIOD,BUTWASEVENTUALLYINFARCTIONWHENGRADUATIONPARTYINTHETHROAT,LATERAGAINSTOODONTHEPITCHHEHASSWEATPROFUSELY,LOOKEDATHISTHROWNABASKETBALLHOOPS,SUDDENLYFOUNDHIMSELFHASALREADYCANTREMEMBERHISAPPEARANCEBAUMGARTNERTHEDISAPPOINTINGNEWSMISSIONABORTEDRPLAYSANIMPORTANTROLEIN

温馨提示

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

评论

0/150

提交评论