好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

概要设计基于windows平台DirectX视频加速技术的连连看游戏设计与实现.docx

21页
  • 卖家[上传人]:ss****gk
  • 文档编号:233077965
  • 上传时间:2022-01-01
  • 文档格式:DOCX
  • 文档大小:98.38KB
  • / 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用例图用例主要有:用户开始游戏,用户进行配对图片a«uses>> UiSystem、RenderSystem和InputSystem类相关联,主要 时创建主程序窗口,消息循环,初始化SceneSystem> UiSystem、RenderSystem和InputSystem,更新窗口 和渲染呢窗口类 RendSystem:RenderSystem (from lianliankan) m_hwnd : HWND m[d3d : 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< Texture*...电m id : UINTGUiSystem() 斗 UiSystem。

      ♦lnitResource() ♦AddButton() •GetButton() 'GetButtonlDO ♦Update ♦Render图 2-4-4该类与InputSystem> 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 : UINTm^secondButton : 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< Texture* > m_hwnd : HWNDmjength : UINT m_row : UINT m_col : UINT m^cellWidth : 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)ii>mjnfo : struct Textureinfo(LONG srcX; //源图片的位置LONG srcY;LONG destX; 〃目标的位置(屏幕的位置)LONG destY;LONG width; /"原和目标的宽和高LONG height;^>m_sprite : LPD3DXSPRFTE♦Sprite^«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类鼠标。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.