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

下载本文档

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

文档简介

1、 基于windows平台DirectX视频加速技术的连连看游戏概要设计总页数20正文17附录1生效日期2013.12.4编制批准20南昌航空大学东软班 概要设计修 改 履 历修改编号日期修改人版本号修改内容1VER0.1.0概要设计目 录1文档概述41.1文档目的和范围41.2术语/缩略语41.3参考文档42模块概述42.1模块功能定义42.2模块结构52.3用例图52.4 类图.62.5 模块动作时序.133接口说明143.1数据结构定义143.2函数143.2.1模块间接口函数143.2.2模块内接口函数171 文档概述1.1 文档目的和范围该项目主要完成主要是基于windows平台Dir

2、ectX视频加速技术的连连看游戏设计与实现1.2 术语/缩略语序号术语/缩略语说明1DirectX视频加速器技术1.3 参考文档序号文档名作者时间版本1概要设计东软提供2014.12.04VER0.1.02 模块概述Windows与directX实现连连看游戏,游戏分为3个等级普通,挑战,极限。2.1 模块功能定义序号功能点功能点详细内容1主界面进入游戏的主界面,通过该界面进入不同等级的游戏2普通等级游戏进入普通等级进行游戏,游戏难易程度相对较低3挑战等级游戏进入挑战等级进行游戏,难易程度相对普通等级要难4极限等级游戏进入极限等级进行游戏,难易程度相对挑战等级难2.2 模块结构程序模块图如图所

3、示:图2-2模块结构图 程序有两个大模块组成,游戏模块和退出游戏模块。其中游戏模块一共分为3个小模块。普通模式游戏模块,即游戏难易程度最低;挑战模式游戏模块,即游戏难度相对难一些;极限模式游戏模块,即游戏难度比较复杂,完成游戏的时间相对要长一些。2.3 用例图用例主要有:用户开始游戏,用户进行配对图片。图2-3用例图 2.4 类图类GameWord:图2-4- 1 该类是程序的主类,分别与SceneSystem、UiSystem、RenderSystem和InputSystem类相关联,主要时创建主程序窗口,消息循环,初始化SceneSystem、UiSystem、RenderSystem和I

4、nputSystem,更新窗口和渲染呢窗口。类RendSystem:图2-4- 2 该类与GameWord相关联。该类用于初始化DirectX和创建精灵对象。类InputSystem:图2-4- 3 该类分别与UiSystem、SceneSystem和GameWord类相关联。主要用于设置鼠标设备,获取一个对象通过该对象判断鼠标是否点击左键或者右键同时获取当前光标坐标。类UiSystem:图2-4- 4该类与InputSystem、GameWord相关联,与MBUtton容器组合关系。主要是对游戏主界面的背景图片和按钮加载纹理,初始化精灵,设置原图片和目标图片坐标,以及设置按钮在窗口上的矩形框

5、。最后对主界面进行更新和渲染。类SceneSystem:图2-4- 5该类继承了Scene类,并且分别与类InputSystem类和Gameword类相关联。主要是对游戏界面背景和游戏方块加载纹理,初始化精灵,设置原图片和目标图片坐标,以及设置游戏方块在窗口上的矩形框。设置好后,程序会一直在消息循环中,Update函数会不停的对界面更新通过CheckLink函数检测两个方块是否可以消除,然后在通过Render函数对新数据的游戏界面进行渲染。类Check:图2-4- 6该类是Scene类的子类,同时也被SceneSystem类继承。主要是检测从SceneSystem类获取的两个点,总共判断3中情

6、况,分别用DirectLink函数判断同行同列的情况,用oneCenterLink函数判断有一个折点的情况,用twoCenterLink函数判断有两个折点的情况。类Scene:图2-4- 7该类与Button类相关联,同时也被Check类继承。主要成员函数是GetScreenstart,这个函数是为了获取游戏方块表的开始坐标。该类还有重要的成员变量,如m_sceneButton、m_texture、m_gameBack,分别是存储游戏界面背景和游戏方块的纹理对象和精灵对象。类Sprite:图2-4- 8该类是Button类的父类。该类的主要功能是通过获取的纹理对象对纹理过后的图片进行渲染显示到

7、窗口上。类Matrix:图2-4- 9该类与Sprite同时Button类的父类,Button类同时继承了Sprite和Matrix类。该类的主要功能是通过函数SetRect设置矩形框架的坐标然后可以同过函数GetLeftPoint获取左上角的坐标,通过函数GetRect获取Rect结构体的对象。类Button:图2-4- 10Button类同时继承了Sprite和Matrix类,并且与类Scene相关联。由于该类继承了Sprite和Matrix所以具有着两个类的功能,该类自己实现的功能是设置每个方块的Flag,利用TestButton判断光标是否在相应的方块上,利用Animation实现极限

8、模式下动态游戏方块。类Texture:图2-4- 11该类与类Sprite相关联,主要用于加载纹理,通过调用API函数D3DXCreateTextureFromFileEx将纹理对象加载到内存。类名模块类型概要说明Sprite类精灵初始化GameWord类游戏框架类UiSystem类游戏主窗口画面设置SceneSystem类玩游戏的窗口画面设置RenderSystem类DirectX初始化及相关设置resource接口初始化LCDInputSystem类鼠标操作相关设置Texture类游戏画面纹理设置Matrix类计算方块ID大小类Check类方块消除判断算法类Scene类将可以消除的方块清除

9、2.5模块动作时序图2-4动作时序图 首先从GameWord类开始先创建m_RenderSystem对象同时初始化了DirectX3D,接着创建设备对象m_InputSystem对象同时设置了鼠标设备数据,再是创建了m_UiSystem对象同时对主界面图片加载了纹理和创建了精灵对象。然后是在GameWord类内进入消息循环Run(),在循环内先进入GameUpdate函数对主界面进行更新,从该函数进入UiSystem类的Update函数实现更新。更新结束后从消息循环内进入GameRender函数进行主界面渲染,通过UiSystem类的Render进入Sprite类的Render完成渲染。主界面

10、渲染结束后进入游戏界面,在GameWord类内进入消息循环Run(),在循环内先进入GameUpdate函数对游戏界面进行更新,从该函数进入SceneSystem类的Update函数实现更新,同时对游戏数据进行一些操作,如检测函数对方块是否可以消除进行检测。更新结束后从消息循环内进入GameRender函数进行主界面渲染,通过SceneSystem类的Render进入Sprite类的Render完成渲染,同时完成划线功能。3 接口说明3.1 数据结构定义#define GAME_SCREENWIDTH 800#define GAME_SCREENHEIGHT 600 窗口宽度和高度#defin

11、e DeleteObj(p)if (p != NULL) delete p;p = NULL;#define ReleaseCOM(p) if (p != NULL) p-Release();p= NULL; 释放空间#define FIRST 1#define SECOND 2#define THREE 3#define EXIT 4 主界面四个按钮编号3.2 函数3.2.1 模块间接口函数 Gameword类接口函数.1 InitializeResource函数名InitializeResource文件名GameWord.cpp功能概要RenderSystem、

12、InputSystem、UiSystem初始化记述形式VOID InitializeResource(VOID)参数类型变量名I/O说明void-返回值类型Void说明值详细说明RenderSystem、InputSystem、UiSystem初始化使用注意事项无.2 GameUpdate函数名GameUpdate文件名GameWord.cpp功能概要更新窗口记述形式BOOL GameUpdate(VOID)参数类型变量名I/O说明void-返回值类型BOOL说明值True正常结束false异常结束详细说明当进入不同等级游戏的时候,需要不同的游戏画面,用该函数更新窗口画面使用注意

13、事项 UiSystem类接口函数.1 InitResource函数名InitResource文件名ManagerSystem.cpp功能概要设置主界面和按钮记述形式BOOL InitResource(RenderSystem* renderSystem)参数 类型变量名I/O说明RenderSystemrenderSystem-DirectX对象返回值类型BOOl说明值True正常结束False异常结束详细说明设置主界面和按钮使用注意事项 SceneSystem类接口函数.1 InitResource函数名InitResource文件名M

14、anagerSystem.cpp功能概要初始化连连看的表格记述形式BOOL InitResource(RenderSystem* renderSystem,std:string fileBackName, std:string mainName,UINT step)参数类型变量名I/O说明RenderSystemrenderSystem-DirectX对象stringfileBackName背景图片名stringmainName连连看图片文件名UINTstep无符号整型变量返回值类型BOOL说明值True正常结束False异常结束详细说明初始化游戏界面使用注意事项无3.2.2 模块内接口函数3

15、.2.2.1 GameWord类接口函数.1 MsgProc函数名MsgProc文件名GameWord.cpp功能概要窗口过程函数记述形式LRESULT CALLBACK MsgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)参数类型变量名I/O说明HWNDhWnd窗口句柄UINTMsg消息返回值类型说明值详细说明窗口过程函数使用注意事项 RenderSystem类接口函数.1 Direct3DCreate9函数名Direct3DCreate9文件名RenderSystem.cpp功能概要获

16、取IDirect3D指针对象记述形式Direct3D9 * WINAPI Direct3DCreate9(UINT SDKVersion)参数类型变量名I/O说明UINTSDKVersion固定的返回值类型Direct3D9说明值正常结束异常结束详细说明获取IDirect3D指针对象使用注意事项.2 Clear函数名Clear文件名RenderSystem.cpp功能概要清除窗口记述形式Clear(0,NULL,D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,D3DCOLOR_XRGB(r,g,b),1,0)参数类型变量名I/O说明返回值类型说明值正常结束异

17、常结束详细说明使用注意事项无.3 CreateDevice函数名CreateDevice文件名RenderSystem.cpp功能概要获取DIRECT3DDEVICE9指针记述形式HRESULT CreateDevice(UINT Adapter,D3DDEVTYPE DeviceType,HWND hFocusWindow,DWORD BehaviorFlags,D3DPRESENT_PARAMETERS *pPresentationParameters,IDirect3DDevice9* ppReturnedDeviceInterface);参数类型变量名I/O说明UINTAdapter序数所指示的显示器适配器D3DDEVT

温馨提示

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

评论

0/150

提交评论