《本科毕业设计论文--详细设计基于windows-平台directx视频加速技术的连连看游戏设计与实现.doc》由会员分享,可在线阅读,更多相关《本科毕业设计论文--详细设计基于windows-平台directx视频加速技术的连连看游戏设计与实现.doc(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、南昌航空大学东软班 详细设计报告 版本:0.1.0 基于windows平台DirectX视频加速技术的连连看游戏详细设计总页数37正文34附录1生效日期2014-3-11编制批准37修 改 履 历修改编号日期修改人版本号修改内容10.1.0初始做成目 录1文档概述41.1文档目的和范围41.2术语/缩略语41.3参考文档42处理42.1模块数据结构定义42.1.1全局变量定义42.2模块功能实现5 2.2.1 GameWord类成员函数.52.2.2 InputSystem类成员函数.102.2.3 UiSystem类成员函数.122.2.4 SceneSystem类成员函数.182.2.5
2、RenderSystem类成员函数.292.2.6 Texture类成员函数.302.2.7 Sprite类成员函数.322.2.8 Check类成员函数.331 文档概述1.1 文档目的和范围此文档是对基于windows平台DirectX视频加速技术的连连看游戏详细设计描述,主要是描述了本程序接口函数和内部接口函数以及内部函数的定义、流程图和构成图以及测试项目的记述。1.2 术语/缩略语序号术语/缩略语说明1DirectX视频加速器技术1.3 参考文档2 处理2.1 模块数据结构定义 #define GAME_SCREENWIDTH 800 窗口宽 #define GAME_SCREENHE
3、IGHT 600 窗口高 #define DeleteObj(p)if (p != NULL) delete p;p = NULL; #define ReleaseCOM(p) if (p != NULL) p-Release();p= NULL; 释放空间 #define FIRST 1 表示主界面第一个按钮id #define SECOND 2 表示主界面第二个按钮id #define THREE 3 表示主界面第三个按钮id #define EXIT 4 表示主界面第四个按钮id #define BLANK_GRID 0 2.2 模块功能实现2.2.1GameWord类成员函数2.2.1
4、.1 MsgProc函数名MsgProc()文件名GameWord.cpp功能概要窗口过程函数记述形式LRESULT CALLBACK MsgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)参数HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam类型变量名I/O说明HWNDhWnd-窗口句柄UINTWPARAM_消息ID返回值类型LRESULT说明值详细说明 鼠标按关闭窗口键,窗口将关闭。 按ESC键窗口关闭使用注意事项【函数处理流程】流程图 12.2.1.2 Run函数名Run()文件
5、名GameWord.cpp功能概要消息循环记述形式VOID GameWord:Run(VOID)参数VOID类型变量名I/O说明Void-返回值类型VOID说明值详细说明消息循环,调用一个函数在空闲处理期间显示场景使用注意事项【函数处理流程】流程图 22.2.1.3 GameUpdate函数名GameUpdate()文件名GameWord.cpp功能概要更新窗口记述形式BOOL GameWord:GameUpdate(VOID)参数类型变量名I/O说明Void-返回值类型BOOL说明值TRUE成功返回TUREFALSE反之返回FALSE详细说明根据对窗口的操作对窗口进行更新使用注意事项【函数处
6、理流程】流程图 32.2.1.4 GameRender函数名GameRender ()文件名GameWord.cpp功能概要Direct渲染和显示场景记述形式BOOL GameWord:GameRender(VOID)参数char *err类型变量名I/O说明Void-返回值类型BOOL说明值TRUE成功返回TUREFALSE反之返回FALSE详细说明该函数调用所有渲染函数和显示函数使用注意事项【函数处理流程】流程图 42.2.2 InputSystem类成员函数2.2.2.1 Initalize函数名Initialize ()文件名InputSystem.cpp功能概要初始化鼠标设备记述形式
7、BOOL InputSystem:Initialize()参数类型变量名I/O说明Void-返回值类型BOOL说明值TRUE成功返回TUREFALSE反之返回FALSE详细说明该函数用于创建一个DirectInput8对象,创建一个DirectInput设备,设置数据格式,设置协作级使用注意事项【函数处理流程】流程图 52.2.3 UiSystem类成员函数2.2.3.1 InitResource函数名InitResource()文件名ManagerSystem.cpp功能概要设置游戏主界面的数据记述形式BOOL UiSystem:InitResource(RenderSystem* rend
8、erSystem)参数RenderSystem* renderSystem类型变量名I/O说明RenderSystemrenderSystem-DirectX类的对象返回值类型BOOL说明值TRUE成功返回TUREFALSE反之返回FALSE详细说明创建纹理和精灵,设置原图片和目标图片的坐标,对按钮设置矩形框坐标使用注意事项【函数处理流程】流程图 62.2.3.2 Update函数名Update()文件名ManagerSystem.cpp功能概要当点击按钮时记录按钮编号m_id记述形式BOOL UiSystem:Update(VOID) 参数类型变量名I/O说明-返回值类型BOOL说明值TRU
9、E成功返回TUREFALSE反之返回FALSE详细说明当点击按钮时记录按钮编号m_id使用注意事项【函数处理流程】流程图 72.2.3.3 Render函数名Render()文件名ManagerSystem.cpp功能概要显示游戏主界面和一系列操作后画面记述形式BOOL UiSystem:Render(VOID)参数类型变量名I/O说明-返回值类型BOOL说明值TRUE成功返回TUREFALSE反之返回FALSE详细说明该函数主要调用精灵显示函数来显示界面,当光标停留在按钮上时将调用函数改变按钮图片和光标形状使用注意事项【函数处理流程】流程图 82.2.4 SceneSystem类成员函数2.
10、2.4.1 InitResource函数名InitResource()文件名ManagerSystem.cpp功能概要对游戏界面的数据设置记述形式BOOL SceneSystem:InitResource(RenderSystem* renderSystem,std:string fileBackName, std:string mainName,UINT step) 参数RenderSystem* renderSystem,std:string fileBackName,std:string mainName,UINT step类型变量名I/O说明RenderSystem*renderSys
11、tem-DirectX类的对象std:stringfileBackName-背景图片的路径std:stringmainName-游戏方块图片路径UINT step-每个游戏方块的变化个数返回值类型BOOL说明值TRUE成功返回TUREFALSE反之返回FALSE详细说明该函数主要调用设置原图片位置和目标图片位置,还有目标位置的矩形框坐标。使用注意事项【函数处理流程】流程图 92.2.4.2 Random函数名Random()文件名ManagerSystem.cpp功能概要设置游戏方块随机分布在游戏界面上的数据记述形式std:vector SceneSystem:Random(UINT leng
12、th)参数UINT length类型变量名I/O说明UINTLengtn-游戏方块的总数返回值类型std:vector 说明值tempV存储游戏方块在原图片的位置详细说明调用该函数将会得到游戏界面中游戏方块的图片在原图片中的位置的一个容器使用注意事项【函数处理流程】流程图 102.2.4.3 Update函数名Update()文件名ManagerSystem.cpp功能概要游戏进行时的一些数据判断记述形式BOOL SceneSystem:Update(VOID)参数类型变量名I/O说明-返回值类型BOOL说明值TRUE成功返回TUREFALSE反之返回FALSE详细说明该函数主要是在游戏进行时
13、对方块的选取是否正确使用注意事项【函数处理流程】流程图 112.2.4.4 Render函数名Render()文件名ManagerSystem.cpp功能概要游戏场景的显示记述形式BOOL SceneSystem:Render(VOID) 参数UINT length类型变量名I/O说明-返回值类型BOOL说明值TRUE成功返回TUREFALSE反之返回FALSE详细说明调用该函数主要是对游戏场景在不同情况下的显示使用注意事项【函数处理流程】流程图 122.2.4.5 GetArrayPos函数名GetArrayPos()文件名ManagerSystem.cpp功能概要获取玩家选定的方块ID记述
14、形式UINT SceneSystem:GetArrayPos(int x, int y) 参数int x, int y类型变量名I/O说明intx-点击方块的x坐标inty点击方块的y坐标返回值类型UINT说明值val获取到方块的IDm_num没有获取到新的ID返回原先的详细说明调用该函数主要是获取玩家正确点击方块的ID如果玩家点击的位置错误将原来的ID返回使用注意事项【函数处理流程】流程图 132.2.4.6 CheckLink函数名CheckLink()文件名ManagerSystem.cpp功能概要判断选取的两个方块是否可以消除记述形式BOOL SceneSystem:CheckLink
15、(UINT first,UINT second)参数UINT first,UINT second类型变量名I/O说明UINTfirst-选取的第一个方块UINTsecond选取的第二个方块返回值类型BOOL说明值TRUE成功返回TUREFALSE反之返回FALSE详细说明调用该函数主要是通过调用函数来判断选取的两个方块是否可以被消除使用注意事项【函数处理流程】流程图 142.2.5 RenderSystem类成员函数2.2.5.1 InitializeDevice函数名InitializeDevice()文件名RenderSystem.cpp功能概要Direct3D初始化记述形式BOOL Re
16、nderSystem:InitializeDevice(VOID) 参数类型变量名I/O说明-返回值类型BOOL说明值TRUE成功返回TUREFALSE反之返回FALSE详细说明Direct3d初始化使用注意事项【函数处理流程】流程图 152.2.6 Texture类成员函数2.2.6.1 LoadTexture函数名LoadTexture()文件名ResourceFactory.cpp功能概要加载纹理记述形式BOOL Texture:LoadTexture(std:string fileName)参数std:string fileName类型变量名I/O说明std:stringfileNam
17、e-图片路径返回值类型BOOL说明值TRUE成功返回TUREFALSE反之返回FALSE详细说明调用该函数加载纹理使用注意事项【函数处理流程】流程图 162.2.7 Sprite类成员函数2.2.7.1 Render函数名Render()文件名ResourceFactory.cpp功能概要显示精灵记述形式BOOL Sprite:Render(TextureInfo info, DWORD color)参数TextureInfo info, DWORD color类型变量名I/O说明TextureInfoinfo-原图片和目标的位置 DWORDcolor颜色返回值类型BOOL说明值TRUE成功返
18、回TUREFALSE反之返回FALSE详细说明调用该函数将加载完纹理和设置好位置的图片显示到屏幕上使用注意事项【函数处理流程】流程图 172.2.8 Check类成员函数2.2.8.1 DirecLink函数名DirectLink()文件名Scene.cpp功能概要连连看算法,在同一行或在同一列的情况记述形式BOOL Check:DirectLink(UINT first,UINT second) 参数UINT first,UINT second类型变量名I/O说明UINTfirst-选取的第一个方块IDUINTsecond选取的第二个方块ID返回值类型BOOL说明值TRUE成功返回TUREF
19、ALSE反之返回FALSE详细说明调用该函数判断两个方块是否属于在同一行或在同一列的情况使用注意事项【函数处理流程】流程图 182.2.8.2 oneCenterLink函数名oneCenterLink()文件名Scene.cpp功能概要连连看算法记述形式BOOL Check:oneCenterLink(UINT first,UINT second)参数UINT first,UINT second类型变量名I/O说明UINTfirst-选取的第一个方块IDUINTsecond选取的第二个方块ID返回值类型BOOL说明值TRUE成功返回TUREFALSE反之返回FALSE详细说明判断选中的两个方
20、块在不同行不同列时是否可以连接使用注意事项该算法不考虑连接路径经过边框【函数处理流程】流程图 192.2.8.3 twoCenterLink函数名twoCenterLink()文件名Scene.cpp功能概要连连看算法记述形式BOOL Check:twoCenterLink(UINT first,UINT second)参数UINT first,UINT second类型变量名I/O说明UINTfirst-选取的第一个方块IDUINTsecond选取的第二个方块ID返回值类型BOOL说明值TRUE成功返回TUREFALSE反之返回FALSE详细说明该函数主要判断连接路径经过边框时是否可以连接使用注意事项【函数处理流程】流程图 20