资源预览内容
第1页 / 共21页
第2页 / 共21页
第3页 / 共21页
第4页 / 共21页
第5页 / 共21页
第6页 / 共21页
第7页 / 共21页
第8页 / 共21页
第9页 / 共21页
第10页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
基于wi ndows平台Di rectX视频加速技术的连连看游戏概要设计总页数20正文17附录1生效日期2013. 12.4编制批准修改履历修改编号日期修改人版本号修改内容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平台DirectX视频加速技术的连连看游戏设计与实现1.2术语/缩略语序号术语/缩略语说明1DirectX视频加速器技术1.3参考文档序号文档名作者时间版本1概要设计东软提供2014.12.04VER0.1.02模块概述Windows与directX实现连连看游戏,游戏分为3个等级普通,挑战,极限。2.1模块功能定义序号功能点功能点详细内容1主界面进入游戏的主界面,通过该界面进入不同等级的游戏2普通等级游戏进入普通等级进行游戏,游戏难易程度相对较低3挑战等级游戏进入挑战等级进行游戏,难易程度相对普通等级要难4极限等级游戏进入极限等级进行游戏,难易程度相对挑战等级难2.2模块结构程序模块图如图所示:姓入蒲戏皆通模式极限模式图2-2模块结构图程序有两个大模块组成,游戏模块和退出游戏模块。其中游戏模块一共分为3个小模块。普通模式游 戏模块,即游戏难易程度最低;挑战模式游戏模块,即游戏难度相对难一些;极限模式游戏模块,即游戏 难度比较复杂,完成游戏的时间相对要长一些。2.3用例图用例主要有:用户开始游戏,用户进行配对图片。auses UiSystem、RenderSystem和InputSystem类相关联,主要 时创建主程序窗口,消息循环,初始化SceneSystem UiSystem、RenderSystem和InputSystem,更新窗口 和渲染呢窗口。类 RendSystem:RenderSystem (from lianliankan) m_hwnd : HWND md3d : LPDIRECT3D9 m d3dDevice : LPDIRECT3DDEVICE9 m sDrite : LPD3DXSPRITE num : intRenderSystem() RenderSystem() lnitializeDevice() GetDevice() GetSprite() Clear() BeginRender() EndRender()图 2-4-2该类与GameWord相关联。该类用于初始化DirectX和创建精灵对象。类 InputSystem:InputSystem(from lianliankan)mjnput : LPDIRECTINPUT8mJnputDevice : LPDIRECTINPUTDEVICE8 m_mouseState : DIMOUSESTATE m_hwnd : HWNDm_hlnstance : HINSTANCEm_posX : LONG mZposY : LONG lnputSystem() HnputSystem() lnitialize() lsMouseLeft() lsMouseRight() GetMousePos() GetMouseX() GetMouseYQ GetlnstanceQ图 2-4- 3该类分别与UiSystem SceneSystem和GameWord类相关联。主要用于设置鼠标设备,获取一个对象通过该对象判断鼠标是否点击左键或者右键同时获取当前光标坐标。类 UiSystem:UiSystem(from lianliankan)HlmJexture : std:vector GameWord相关联,与MBUtton容器组合关系。主要是对游戏主界面的背景图 片和按钮加载纹理,初始化精灵,设置原图片和目标图片坐标,以及设置按钮在窗口上的矩形框。最后对 主界面进行更新和渲染。类 SceneSystem:SceneSystem(from lianliankan)m num : UINTm oldNum : UINTSceneSystem() SceneSystem() lnitResource() GetArrayPos() CheckLinkQ DrawLineQ virtual Random() virtual Update() virtual Render()图 2-4- 5该类继承了 Scene类,并且分别与类InputSystem类和Gameword类相关联。主要是对游戏界面背景和 游戏方块加载纹理,初始化精灵,设置原图片和目标图片坐标,以及设置游戏方块在窗口上的矩形框。设 置好后,程序会一直在消息循环中,Update函数会不停的对界面更新通过CheckLink函数检测两个方块是 否可以消除,然后在通过Render函数对新数据的游戏界面进行渲染。类 Check:Check(from lianliankan)m_path : std:vectorm_firstButton : UINTmsecondButton : UINTCheck() *Check() Max() Min() DirectLink() oneCenterLink() twoCenterLinkQ图 2-4- 6该类是Scene类的子类,同时也被SceneSystem类继承。主要是检测从SceneSystem类获取的两个点, 总共判断3中情况,分别用DirectLink函数判断同行同列的情况,用oneCenterLink函数判断有一个折点的 情况,用twoCenterLink函数判断有两个折点的情况。类 Scene:Scene(from lianliankan)m_sceneButton : std二vector Button*. m_texture : std:vector m_hwnd : HWNDmjength : UINT m_row : UINT m_col : UINT mcellWidth : UINT m_cellHeight : UINTScene()virtual Scene()Win()abstract Random()abstract Update()abstract RenderQ GetScreenStart()图 2-4-7该类与Button类相关联,同时也被Check类继承。主要成员函数是GetScreenstart,这个函数是为了 获取游戏方块表的开始坐标。该类还有重要的成员变量,如m_sceneButton、m_texture m_gameBack,分 别是存储游戏界面背景和游戏方块的纹理对象和精灵对象。类 Sprite:Sprite(fiom lianliankan)iimjnfo : struct Textureinfo(LONG srcX;/源图片的位置LONG srcY;LONG destX;目标的位置(屏幕的位置)LONG destY;LONG width;/原和目标的宽和高LONG height;m_sprite : LPD3DXSPRFTESprite。virtual Sprite()SetTexturelnfo()GetTexturelnfo()SetSrcPos。GetSrcPos()SetSpriteSetform()Render。图 2-4- 8该类是Button类的父类。该类的主要功能是通过获取的纹理对象对纹理过后的图片进行渲染显示到窗 口上。类 Matrix:Matrixgm lianliankan)m_rect: RECTMatrix() virtual Matrix() SetRect() GetLeftPoint() GetRect()图 2-4- 9该类与Sprite同时Button类的父类,Button类同时继承了 Sprite和Matrix类。该类的主要功能是通过 函数SetRect设置矩形框架的坐标然后可以同过函数GetLeftPoint获取左上角的坐标,通过函数GetRect获 取Rect结构体的对象。类 Button:Button(from lianliankan)m_flag : UINT m_curStep : UINT m_step : UINT mJ sAnimation : BOOLButtonO Button0 SetFlagO GetFlagO TestButton() Animation() SetCurStepQ图 2-4-10Button类同时继承了 Sprite和Matrix类,并且与类Scene相关联。由于该类继承了 Sprite和Matrix所 以具有着两个类的功能,该类自己实现的功能是设置每个方块的Flag,利用TestButton判断光标是否在相 应的方块上,利用Animation实现极限模式下动态游戏方块。类 Texture:Texture(from lianliarican)mjexture : LPDIRECT3DTEXTURE9 m_device : LPDIRECT3DDEVICE9 m_width : UINT m_height : UINTTextureQ Texture() LoadTexture() GetTexture() GetWidthQ GetHeightQ图 2-4-11该类与类Sprite相关联,主要用于加载纹理,通过调用API函数D3DXCreateTextureFromFileEx将纹理 对象加载到内存。类名模块类型概要说明Sprite类精灵初始化GameWord类游戏框架类UiSystem类游戏王窗口画面设置SceneSystem类玩游戏的窗口画面设置RenderSystem类DirectX初始化及相关设置resource接口初始化LCDInputSystem类鼠标
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号