资源描述
南昌航空大学东软班 详细设计报告 版本:0.1.0
基于windows平台DirectX视频加速技术的连连看游戏
详细设计
总页数
37
正文
34
附录
1
生效日期
2014-3-11
编制
批准
40
修 改 履 历
修改编号
日期
修改人
版本号
修改内容
1
0.1.0
初始做成
目 录
1 文档概述 4
1.1 文档目的和范围 4
1.2 术语/缩略语 4
1.3 参考文档 4
2 处理 4
2.1 模块数据结构定义 4
2.1.1全局变量定义 4
2.2 模块功能实现 5
2.2.1 GameWord类成员函数..............................................................................................5
2.2.2 InputSystem类成员函数..........................................................................................10
2.2.3 UiSystem类成员函数..............................................................................................12
2.2.4 SceneSystem类成员函数.........................................................................................18
2.2.5 RenderSystem类成员函数.......................................................................................29
2.2.6 Texture类成员函数..................................................................................................30
2.2.7 Sprite类成员函数.....................................................................................................32
2.2.8 Check类成员函数....................................................................................................33
文档概述
文档目的和范围
此文档是对基于windows平台DirectX视频加速技术的连连看游戏详细设计描述,主要是描述了本程序接口函数和内部接口函数以及内部函数的定义、流程图和构成图以及测试项目的记述。
术语/缩略语
序号
术语/缩略语
说明
1
DirectX
视频加速器技术
参考文档
处理
模块数据结构定义
#define GAME_SCREENWIDTH 800 窗口宽
#define GAME_SCREENHEIGHT 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.1GameWord类成员函数
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
说明
HWND
hWnd
-
窗口句柄
UINT
WPARAM
_
消息ID
返回值
类型
LRESULT
说明
值
详细说明
① 鼠标按关闭窗口键,窗口将关闭。
② 按ESC键窗口关闭
使用注意事项
【函数处理流程】
流程图 1
Run
函数名
Run()
文件名
GameWord.cpp
功能概要
消息循环
记述形式
VOID GameWord::Run(VOID)
参数VOID
类型
变量名
I/O
说明
Void
-
-
-
返回值
类型
VOID
说明
值
详细说明
消息循环,调用一个函数在空闲处理期间显示场景
使用注意事项
【函数处理流程】
流程图 2
GameUpdate
函数名
GameUpdate()
文件名
GameWord.cpp
功能概要
更新窗口
记述形式
BOOL GameWord::GameUpdate(VOID)
参数
类型
变量名
I/O
说明
Void
-
-
-
返回值
类型
BOOL
说明
值
TRUE
成功返回TURE
FALSE
反之返回FALSE
详细说明
根据对窗口的操作对窗口进行更新
使用注意事项
【函数处理流程】
流程图 3
GameRender
函数名
GameRender ()
文件名
GameWord.cpp
功能概要
Direct渲染和显示场景
记述形式
BOOL GameWord::GameRender(VOID)
参数char *err
类型
变量名
I/O
说明
Void
-
-
返回值
类型
BOOL
说明
值
TRUE
成功返回TURE
FALSE
反之返回FALSE
详细说明
该函数调用所有渲染函数和显示函数
使用注意事项
【函数处理流程】
流程图 4
InputSystem类成员函数
Initalize
函数名
Initialize ()
文件名
InputSystem.cpp
功能概要
初始化鼠标设备
记述形式
BOOL InputSystem::Initialize()
参数
类型
变量名
I/O
说明
Void
-
-
返回值
类型
BOOL
说明
值
TRUE
成功返回TURE
FALSE
反之返回FALSE
详细说明
该函数用于创建一个DirectInput8对象,创建一个DirectInput设备,设置数据格式,设置协作级
使用注意事项
【函数处理流程】
流程图 5
UiSystem类成员函数
InitResource
函数名
InitResource()
文件名
ManagerSystem.cpp
功能概要
设置游戏主界面的数据
记述形式
BOOL UiSystem::InitResource(RenderSystem* renderSystem)
参数RenderSystem* renderSystem
类型
变量名
I/O
说明
RenderSystem
renderSystem
-
DirectX类的对象
返回值
类型
BOOL
说明
值
TRUE
成功返回TURE
FALSE
反之返回FALSE
详细说明
创建纹理和精灵,设置原图片和目标图片的坐标,对按钮设置矩形框坐标
使用注意事项
【函数处理流程】
流程图 6
Update
函数名
Update()
文件名
ManagerSystem.cpp
功能概要
当点击按钮时记录按钮编号m_id
记述形式
BOOL UiSystem::Update(VOID)
参数
类型
变量名
I/O
说明
-
返回值
类型
BOOL
说明
值
TRUE
成功返回TURE
FALSE
反之返回FALSE
详细说明
当点击按钮时记录按钮编号m_id
使用注意事项
【函数处理流程】
流程图 7
Render
函数名
Render()
文件名
ManagerSystem.cpp
功能概要
显示游戏主界面和一系列操作后画面
记述形式
BOOL UiSystem::Render(VOID)
参数
类型
变量名
I/O
说明
-
返回值
类型
BOOL
说明
值
TRUE
成功返回TURE
FALSE
反之返回FALSE
详细说明
该函数主要调用精灵显示函数来显示界面,当光标停留在按钮上时将调用函数改变按钮图片和光标形状
使用注意事项
【函数处理流程】
流程图 8
SceneSystem类成员函数
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*
renderSystem
-
DirectX类的对象
std::string
fileBackName
-
背景图片的路径
std::string
mainName
-
游戏方块图片路径
UINT
step
-
每个游戏方块的变化个数
返回值
类型
BOOL
说明
值
TRUE
成功返回TURE
FALSE
反之返回FALSE
详细说明
该函数主要调用设置原图片位置和目标图片位置,还有目标位置的矩形框坐标。
使用注意事项
【函数处理流程】
流程图 9
Random
函数名
Random()
文件名
ManagerSystem.cpp
功能概要
设置游戏方块随机分布在游戏界面上的数据
记述形式
std::vector<UINT> SceneSystem::Random(UINT length)
参数UINT length
类型
变量名
I/O
说明
UINT
Lengtn
-
游戏方块的总数
返回值
类型
std::vector<UINT>
说明
值
tempV
存储游戏方块在原图片的位置
详细说明
调用该函数将会得到游戏界面中游戏方块的图片在原图片中的位置的一个容器
使用注意事项
【函数处理流程】
流程图 10
Update
函数名
Update()
文件名
ManagerSystem.cpp
功能概要
游戏进行时的一些数据判断
记述形式
BOOL SceneSystem::Update(VOID)
参数
类型
变量名
I/O
说明
-
返回值
类型
BOOL
说明
值
TRUE
成功返回TURE
FALSE
反之返回FALSE
详细说明
该函数主要是在游戏进行时对方块的选取是否正确
使用注意事项
【函数处理流程】
流程图 11
Render
函数名
Render()
文件名
ManagerSystem.cpp
功能概要
游戏场景的显示
记述形式
BOOL SceneSystem::Render(VOID)
参数UINT length
类型
变量名
I/O
说明
-
返回值
类型
BOOL
说明
值
TRUE
成功返回TURE
FALSE
反之返回FALSE
详细说明
调用该函数主要是对游戏场景在不同情况下的显示
使用注意事项
【函数处理流程】
流程图 12
GetArrayPos
函数名
GetArrayPos()
文件名
ManagerSystem.cpp
功能概要
获取玩家选定的方块ID
记述形式
UINT SceneSystem::GetArrayPos(int x, int y)
参数int x, int y
类型
变量名
I/O
说明
int
x
-
点击方块的x坐标
int
y
点击方块的y坐标
返回值
类型
UINT
说明
值
val
获取到方块的ID
m_num
没有获取到新的ID返回原先的
详细说明
调用该函数主要是获取玩家正确点击方块的ID如果玩家点击的位置错误将原来的ID返回
使用注意事项
【函数处理流程】
流程图 13
CheckLink
函数名
CheckLink()
文件名
ManagerSystem.cpp
功能概要
判断选取的两个方块是否可以消除
记述形式
BOOL SceneSystem::CheckLink(UINT first,UINT second)
参数UINT first,UINT second
类型
变量名
I/O
说明
UINT
first
-
选取的第一个方块
UINT
second
选取的第二个方块
返回值
类型
BOOL
说明
值
TRUE
成功返回TURE
FALSE
反之返回FALSE
详细说明
调用该函数主要是通过调用函数来判断选取的两个方块是否可以被消除
使用注意事项
【函数处理流程】
流程图 14
RenderSystem类成员函数
InitializeDevice
函数名
InitializeDevice()
文件名
RenderSystem.cpp
功能概要
Direct3D初始化
记述形式
BOOL RenderSystem::InitializeDevice(VOID)
参数
类型
变量名
I/O
说明
-
返回值
类型
BOOL
说明
值
TRUE
成功返回TURE
FALSE
反之返回FALSE
详细说明
Direct3d初始化
使用注意事项
【函数处理流程】
流程图 15
Texture类成员函数
LoadTexture
函数名
LoadTexture()
文件名
ResourceFactory.cpp
功能概要
加载纹理
记述形式
BOOL Texture::LoadTexture(std::string fileName)
参数std::string fileName
类型
变量名
I/O
说明
std::string
fileName
-
图片路径
返回值
类型
BOOL
说明
值
TRUE
成功返回TURE
FALSE
反之返回FALSE
详细说明
调用该函数加载纹理
使用注意事项
【函数处理流程】
流程图 16
Sprite类成员函数
Render
函数名
Render()
文件名
ResourceFactory.cpp
功能概要
显示精灵
记述形式
BOOL Sprite::Render(TextureInfo info, DWORD color)
参数TextureInfo info, DWORD color
类型
变量名
I/O
说明
TextureInfo
info
-
原图片和目标的位置
DWORD
color
颜色
返回值
类型
BOOL
说明
值
TRUE
成功返回TURE
FALSE
反之返回FALSE
详细说明
调用该函数将加载完纹理和设置好位置的图片显示到屏幕上
使用注意事项
【函数处理流程】
流程图 17
Check类成员函数
DirecLink
函数名
DirectLink()
文件名
Scene.cpp
功能概要
连连看算法,在同一行或在同一列的情况
记述形式
BOOL Check::DirectLink(UINT first,UINT second)
参数UINT first,UINT second
类型
变量名
I/O
说明
UINT
first
-
选取的第一个方块ID
UINT
second
选取的第二个方块ID
返回值
类型
BOOL
说明
值
TRUE
成功返回TURE
FALSE
反之返回FALSE
详细说明
调用该函数判断两个方块是否属于在同一行或在同一列的情况
使用注意事项
【函数处理流程】
流程图 18
oneCenterLink
函数名
oneCenterLink()
文件名
Scene.cpp
功能概要
连连看算法
记述形式
BOOL Check::oneCenterLink(UINT first,UINT second)
参数UINT first,UINT second
类型
变量名
I/O
说明
UINT
first
-
选取的第一个方块ID
UINT
second
选取的第二个方块ID
返回值
类型
BOOL
说明
值
TRUE
成功返回TURE
FALSE
反之返回FALSE
详细说明
判断选中的两个方块在不同行不同列时是否可以连接
使用注意事项
该算法不考虑连接路径经过边框
【函数处理流程】
流程图 19
twoCenterLink
函数名
twoCenterLink()
文件名
Scene.cpp
功能概要
连连看算法
记述形式
BOOL Check::twoCenterLink(UINT first,UINT second)
参数UINT first,UINT second
类型
变量名
I/O
说明
UINT
first
-
选取的第一个方块ID
UINT
second
选取的第二个方块ID
返回值
类型
BOOL
说明
值
TRUE
成功返回TURE
FALSE
反之返回FALSE
详细说明
该函数主要判断连接路径经过边框时是否可以连接
使用注意事项
【函数处理流程】
流程图 20
目 录
第一章 总 论 1
一、项目提要 1
二、可行性研究报告编制依据 2
三、综合评价和论证结论 3
四、存在问题与建议 4
第二章 项目背景及必要性 5
一、项目建设背景 5
二、项目区农业产业化经营发展现状 11
三、项目建设的必要性及目的意义 12
第三章 建设条件 15
一、项目区概况 15
二、项目实施的有利条件 17
第四章 建设单位基本情况 19
一、建设单位概况 19
二、研发能力 20
三、财务状况 20
第五章 市场分析与销售方案 21
一、市场分析 21
二、产品生产及销售方案 22
三、销售策略及营销模式 22
四、销售队伍和销售网络建设 23
第六章 项目建设方案 24
一、建设任务和规模 24
二、项目规划和布局 24
三、生产技术方案与工艺流程 25
四、项目建设标准和具体建设内容 26
五、项目实施进度安排 27
第七章 投资估算和资金筹措 28
一、投资估算依据 28
二、项目建设投资估算 28
三、资金来源 29
四、年度投资与资金偿还计划 29
第八章 财务评价 30
一、财务评价的原则 30
二、主要参数的选择 30
三、财务估算 31
四、盈利能力分析 32
五、不确定性分析 33
六、财务评价结论 34
第九章 环境影响评价 35
一、环境影响 35
二、环境保护与治理措施 35
三、环保部门意见 36
第十章 农业产业化经营与农民增收效果评价 37
一、产业化经营 37
二、农民增收 38
三、其它社会影响 38
第十一章 项目组织与管理 40
一、组织机构与职能划分 40
二、项目经营管理模式 42
三、技术培训 42
四、劳动保护与安全卫生 43
第十二章 可行性研究结论与建议 46
一、可行性研究结论 46
二、建议 47
展开阅读全文