综合报告-基于windows 平台DirectX视频加速技术的连连看游戏设计与实现_第1页
综合报告-基于windows 平台DirectX视频加速技术的连连看游戏设计与实现_第2页
综合报告-基于windows 平台DirectX视频加速技术的连连看游戏设计与实现_第3页
综合报告-基于windows 平台DirectX视频加速技术的连连看游戏设计与实现_第4页
综合报告-基于windows 平台DirectX视频加速技术的连连看游戏设计与实现_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

南昌航空大学软件学院东软班 摘 要i基于 windows 平台 DirectX 视频加速技术的连连看游戏设计与实现学生姓名: 班级:指导老师:摘要:连连看游戏是一款经典小游戏,操作简单,适合所有玩家。连兰看游戏软件在 Windows环境下用 Visual Studio 2005 工具,基于 DirectX3D设计开发,可以实现初始化界面,用户使用鼠标点击两张相同图案的小方块进行消除,并有多种地图样式和道具选择,丰富了游戏的娱乐性。此连连看游戏程序界面美观,操作简单,具有一定的趣味性,是一款老少皆宜的休闲佳作。DirectX是一种应用程序接口(API),它可让以 windows为平台的游戏或多媒体程序获得更高的执行效率,加强 3d图形和声音效果,并提供设计人员一个共同的硬件驱动标准,让游戏开发者不必为每一品牌的硬件老写不同的驱动程序,也降低用户安装及设这硬件的复杂度本文通过需求分析与方案论证,首先对开发连连看游戏程序进行初步的分析,然后通过总体设计和详细设计阐述系统的开发和实现过程。关键词:连连看 DirectX 游戏开发 指导老师签名:南昌航空大学东软班 综合报告Windows platform DirectX video acceleration technology Lianliankan game design and Implementation Based onStudent name : Class: Supervisor: Abstract: The game Lianliankan is classic, small and simple. It Suits for lots of users. The game software runs under the Windows environment, it is based on the DirectX3D framework with Visual Studio 2005 development tool. Users can use mouse clicks on two same pictures to eliminate them, and the game has many kinds of map styles and the stage to choice, to enrich entertainment. The game make more fun for both young and old people.DirectX is an application programming interface (API), which allows games or multimedia programs to achieve higher efficiency in the implementation in windows platform, DirectX enhanced 3d graphics and sound effects, this provide games developers a standard hardware-driven interface, which do not need to write a different driver for each brand of hardware, this decrease the complexity of install and set up the hardware for users.This article is designed under the demand analysis and demonstration. First of all this article analysis preliminary procedure flow of the game LianLianKan, then describe system design and the detailed design of this game.Keyword: Lianliankan; DirectX; Game-DevelopmenSignature of Supervisor:基于 windows 平台 DirectX视频加速技术的连连看游戏设计与实现学生姓名:江海涛 班级:102042指导老师:刘志韬南昌航空大学东软班 综合报告摘要连连看游戏是一款经典小游戏,操作简单,适合所有玩家。连连看游戏软件在Windows环境下用 Visual Studio 2005 工具,基于 DirectX3D设计开发,用户使用鼠标点击两张相同图案的小方块进行消除,并有多种地图样式和道具选择,丰富了游戏的娱乐性。此连连看游戏程序界面美观,操作简单,具有一定的趣味性,是一款老少皆宜的休闲佳作。DirectX是一种应用程序接口(API),它可让以 windows为平台的游戏或多媒体程序获得更高的执行效率,加强 3d图形和声音效果,并提供设计人员一个共同的硬件驱动标准,让游戏开发者不必为每一品牌的硬件老写不同的驱动程序,也降低用户安装及设置硬件的复杂度本文通过需求分析与方案论证,首先对开发连连看游戏程序进行初步的分析,然后通过总体设计和详细设计阐述系统的开发和实现过程。关键字:连连看 DirectX 游戏开发 ABSTRACTThe game Lianliankan is classic, small and simple. It Suits for lots of users. The game software runs under the Windows environment, it is based on the DirectX3D framework with Visual Studio 2005 development tool. Users can use mouse clicks on two same pictures to eliminate them, and the game has many kinds of map styles and the stage to choice, to enrich entertainment. The game make more fun for both young and old people.DirectX is an application programming interface (API), which allows games or multimedia programs to achieve higher efficiency in the implementation in windows platform, DirectX enhanced 3d graphics and sound effects, this provide games developers a standard hardware-driven interface, which do not need to write a different driver for each brand of hardware, this decrease the complexity of install and set up the hardware for users.This article is designed under the demand analysis and demonstration. First of all this article analysis preliminary procedure flow of the game LianLianKan, then describe system design and the detailed design of this game.南昌航空大学东软班 综合报告Keywords: Lianliankan; DirectX; Game-Developmen1. 研究的背景与意义连连看是一款风靡很久的单机版游戏,对于玩家并不陌生,游戏规则简单,只要选择一对相同图案的方块连接起来,连接路径若避开其他图片,且不超过两次转弯则消除次对方块,容易上手。改造成网络游戏增强了该游戏的竞技性,把原先单人在规定时间内完成游戏改变成了玩家间相互制约,相互竞争,可以多人组队合作完成游戏,增强了游戏的技巧性、竞技性、合作性。连连看来源于街机游戏,是给一堆图案中的相同图案进行配对的简单游戏,一位叫做朱俊的网友将这种形式搬到了 PC上,立刻成为办公一族的新宠,并迅速传遍了世界各地。饱受工作压力的人们没有太多的时间进行复杂的游戏,而对于这种动动鼠标就能过关的游戏情有独钟。开发连连看游戏程序的目的是为了满足人们休闲的需要,在紧张工作之余休闲类的小游戏能够给人们带来最大程度的放松,也可以增进人们之间的交流,沟通,通过游戏还可以认识更多的朋友,也可以到达跨省、跨市,甚至跨国间人们互相娱乐的目的,而且小游戏还不会浪费计算机过多的资源,不像大型游戏占资源和牵扯精力,可谓工作娱乐两不误。通过此次课题的设计,掌握如何制作一个游戏软件,以及制作游戏软件的整个流程,制作游戏软件的步骤,为以后的就业工作打下基础。2. 系统的研究现状电脑游戏在我国起步虽晚,发展却并不为慢。作为后来者,国内业界同行们的信心、勇气和紧迫感曾经着实令玩家们欣慰。让我们记住这些国产游戏事业上曾经撒过汗水的年轻人,正是他们的创新精神和勇气,才使得国产游戏在并不宽松的环境下蓬勃发展至今。与单机游戏日渐衰落正相反的是,网络游戏方兴未艾,遍地开花。但是,与此同时,我们也看到了,在繁荣的背后,潜在的危机,一是来自国内游戏制作者在游戏制作理念上的不足和困乏,另外就是资金问题,这两方面与欧美游戏制作差距很大。在美国,集中了许多计算机软件的设计人才,他们工作之余,时常喜爱编一种能与人斗智的“游戏”,一次来锻炼编程的能力。这种“游戏”花样繁多,但其特点都是利用计南昌航空大学东软班 综合报告算机软件事先设计好的“分析”、“判断”能力反过来与人较量。由于不断修改更新,是计算机的“智力”水平与人难分高低。连连看这款游戏来源于中国,现在已风靡全世界。连连看游戏从出现到现在已经更新了好多版本,比较知名的有蔬菜连连看、水晶连连看、阿达连连看和宠物连连看等不同版本,现在已经有 FLASH版本,游戏起来更加方便,无需安装,打开网页即可游戏,最近更是出现网络版本,QQ 连连看就是这样一款连连看游戏的网络版本,可以通过网络与其他玩家一起进行游戏,而且地图更为繁多,道具更为丰富,及大地增强了游戏的乐趣。今天,当我们回顾电子游戏最初为什么能吸引人,我们不难悟出这样的道理:电子游戏满足了人们对竞争和对抗的渴望,它总是给予竞争者以新的难题。同时,它还能为胜利这提供崭新的画面和音乐享受。3. DirectX简介DirectX是由微软公司建立的游戏编程接口。由 c+编程语言实现,遵循 COM。在Windows的平台上影响力超越 OpenGL并被多数 PC游戏开发商采用。最新版本DirectX9.0c(2006年 12月 13日)。另外,Windows Vista 第 5283版亦包含有DirectPlay、DirectSound、DirectInput、DirectSetup 等部分。Direct3D 与 DirectDraw已整合成 DirectGaphic,而 DirectShow亦已自原本的 DirectX SDK中移到 Windows平台SDK了。Redist Package 是媒体开发底层 API,通过它可以开发游戏和其它媒体应用程序。DirectX并不是一个单纯的图形 API,它是由微软公司开发的用途广泛的 API,它包含有 Direct Graphics(Direct 3D+Direct Draw)、Direct Input、Direct Play、Direct Sound、Direct Show、Direct Setup、Direct Media Objects 等多个组件,它提供了一整套的多媒体接口方案。只是其在 3D图形方面的优秀表现,让它的其它方面显得暗淡无光。DirectX开发支出是为了弥补 Windows3.1系统对图形、声音处理能力的不足,而今已发展成为对整个多媒体系统的各个方面都有决定性影响的接口。DirectX是一族低级“应用程序编程接口(API)”,可为 Windows程序提供高性能的硬件加速多媒体支持。Windows 支持 DirectX 8.0,它能增强计算机的多媒体功能。使用DirectX可访问显卡与声卡的功能,从使用程序可提供逼真的三维图形与令人如醉如痴的音乐与声音效果。4. 连连看游戏总体设计南昌航空大学东软班 综合报告4.1功能模块设计本程序共分为三个模块,即普通模式游戏模块、挑战模式游戏模块和极限模式游戏模块。如图所示:图 3-1 功能模块图 游戏主程序由普通模式游戏、挑战模式游戏、极限模式游戏和退出游戏组成。普通模式:游戏方块有 60 个静态方块组成,放在一个 8 行 12 列的框架的中心,边框都为空,主要是为了消除方块是的两个折点情况所准备的。60 个方块一共由 15 种不同图片的方块组成,以每种 4 个的方式随机分布。挑战模式:游戏方块有 84 个静态方块组成,放在一个 9 行 14 列的框架的中心,边框都为空,主要是为了消除方块是的两个折点情况所准备的。84 个方块一共由 21 种不同图片的方块组成,以每种 4 个的方式随机分布,相对普通难度游戏方块更复杂完成游戏难度有所增加。极限模式:游戏方块有 80 个动态方块组成,放在一个 10 行 12 列的框架的中心,边框都为空,主要是为了消除方块是的两个折点情况所准备的。80 个方块一共由 20 种不同图片的方块组成,以每种 4 个的方式随机分布。该模式下的方块为动态,当光标移动到游戏方块上的时候游戏方块将变成动态形态,所以在这种情况下比较难分清相同方块进一步加大了游戏的难度。4.2 DirectX初始化过程(1 ) 获取接口 IDirect3D9 的指针 m_d3d。该接口用于获取系统中物理硬件设备的信息并创建接口 IDirect3DDevice9,该接口是一个 C+对象,代表了我们用来显示 3D 图形的物理硬件设备。(2 ) 初始化 D3DPRESENT_PARAMETERS 结构 d3dpp。该结构由许多数据成员组成,南昌航空大学东软班 综合报告我们可以通过这些变量来指定即将创建的结构 IDirect3DDevice9 的特性。(3 ) 利用已初始化的 D3DPRESENT_PARAMETER 结构 d3dpp 创建 IDirect3DDevice9 对象 m_d3dDevice。(4) 利用以创建好的 IDirect3DDevice9对象 m_d3dDevice创建精灵对象m_sprite。4.3算法设计1.游戏地图数据算数据设计2.图案方块连接判断设计3.鼠标交互功能的设计与实现4.3.1游戏地图数据的设计游戏主界面由背景和进入和退出游戏按钮组成,先对背景图片加载纹理然后初始化精灵,设置原图片和目标图片坐标。然后对按钮原图片加载纹理,再对每个按钮初始化精灵及设置原图片和目标图片坐标。游戏界面有背景和游戏方块组成。先对背景图片加载纹理再初始化精灵,设置原图片和目标图片坐标。然后对游戏方块加载纹理,加载完纹理后以原图片中每个小图片的 4 个放入游戏总方块中,利用随机函数打乱,再进行初始化精灵,把打乱顺序的图片设置原图片和目标图片的坐标。4.3.2图案方块连接判断的设计对于选中的两个方块的销毁,它们必须符合以下三个条件: 选中的两个图案相同。 选中的两个方块之间在没有障碍物的情况下,可以用若干垂直的直线线段连起来。 这些将它们连接起来的直线线段的折点不超过两个。同种物件的连接方式大致可以分成以下 3种: 直连方式。在直连方式中,必须要求所选定的两个方块在同一水平直线上,并且两个方块之间没有任何其它的图案方块。在 3种连接方式中,直连方式是最简单的。 有一个折点的垂直线段连接。所选定的两个方块如果通过折点的方式连接,那么对于折点来说,每个折点必定有且至少有一个坐标是和其一个目标点是相同的,即折点必定在两个目标点所在的 X方向或 Y方向的直线上。此外,对于一个折点连接的情况,折点应该为第一个选中方块的横向现或纵向线与第二个选中方块的纵向线或横向线相交而得出。南昌航空大学东软班 综合报告还需说明的是,是这些所有可能连接的交线经过的每一个图案方块区域,它们都不允许被障碍物所阻挡。 有两个折点的垂直线段连接。这种方式的两个折点所连成的直线与两物件的直接连线可以构成平行线,因此可以根据这个规律,将这条水平线在游戏区域允许的条件上下移动,然后通过判断整条带垂直折点的曲线之间有无障碍物方式来确定是否可以联通。经过上面较为详细的分析后,对选定的方块是否可以作抵消操作可以这样去设计,首先,对简单的直连情况进行判断,看其是否符合条件,假如不能,再加深一个级别的复杂度,对一个折点的情况进行判断,如果不符合条件,再对两个折点的情况进行判断。图 4-1 图案方块连接判断流程图 4.3.3鼠标交互功能的设计与实现鼠标选取两个图案方块后,程序将自动判断所选的两个方块是否能进行抵消操作。下面按照预先设计出的鼠标事件处理流程,对整个功能模块的具体协调与实现过程进行简单地描述。 首先获取当前鼠标落点所在游戏区域的具体坐标; 判断出该坐标是否符合条件。保证该点在预定义区域最大行数和列数内,并且点击的区域状态不是空白方块区域。 对于判断此次鼠标事件的选取是否与第一个方块的选取一样,只需通过用于记录第一个被选中的方块的 ID是否相同即可。 对于本次选中的方块为第一个选中的情况,先对选中的方块添加一个橙色的底色,用以提示用户当前的第一个方块选中所在的位置。南昌航空大学东软班 综合报告 对该选定方块作一些判断,以便更高效地处理。判断选中的方块与前一方块是否为同一方块,并且不与上一次选定的方块为同一方块,然后才跳到下一步对两个选定的方块是否可以抵消的流程中去。 调用前面已经实现的大功能函数 CheckLink 来判断所选两个图案是否可以相互抵消。 如果可以抵消,对选中的两个方块在内部核心地图对应的数据状态作适当的修改,将它们的状态记作已经被销毁的

温馨提示

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

评论

0/150

提交评论