详细设计基于windows 平台directx视频加速技术的连连看游戏设计与实现大学论文.docx

上传人:b****6 文档编号:8259798 上传时间:2023-01-30 格式:DOCX 页数:36 大小:477KB
下载 相关 举报
详细设计基于windows 平台directx视频加速技术的连连看游戏设计与实现大学论文.docx_第1页
第1页 / 共36页
详细设计基于windows 平台directx视频加速技术的连连看游戏设计与实现大学论文.docx_第2页
第2页 / 共36页
详细设计基于windows 平台directx视频加速技术的连连看游戏设计与实现大学论文.docx_第3页
第3页 / 共36页
详细设计基于windows 平台directx视频加速技术的连连看游戏设计与实现大学论文.docx_第4页
第4页 / 共36页
详细设计基于windows 平台directx视频加速技术的连连看游戏设计与实现大学论文.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

详细设计基于windows 平台directx视频加速技术的连连看游戏设计与实现大学论文.docx

《详细设计基于windows 平台directx视频加速技术的连连看游戏设计与实现大学论文.docx》由会员分享,可在线阅读,更多相关《详细设计基于windows 平台directx视频加速技术的连连看游戏设计与实现大学论文.docx(36页珍藏版)》请在冰豆网上搜索。

详细设计基于windows 平台directx视频加速技术的连连看游戏设计与实现大学论文.docx

详细设计基于windows平台directx视频加速技术的连连看游戏设计与实现大学论文

 

基于windows平台DirectX视频加速技术的连连看游戏

详细设计

 

总页数

37

正文

34

附录

1

生效日期

2014-3-11

编制

批准

修改履历

修改编号

日期

修改人

版本号

修改内容

1

0.1.0

初始做成

 

2.2.1GameWord类成员函数..............................................................................................5

2.2.2InputSystem类成员函数..........................................................................................10

2.2.3UiSystem类成员函数..............................................................................................12

2.2.4SceneSystem类成员函数.........................................................................................18

2.2.5RenderSystem类成员函数.......................................................................................29

2.2.6Texture类成员函数..................................................................................................30

2.2.7Sprite类成员函数.....................................................................................................32

2.2.8Check类成员函数....................................................................................................33

1文档概述

1.1文档目的和范围

此文档是对基于windows平台DirectX视频加速技术的连连看游戏详细设计描述,主要是描述了本程序接口函数和内部接口函数以及内部函数的定义、流程图和构成图以及测试项目的记述。

1.2术语/缩略语

序号

术语/缩略语

说明

1

DirectX

视频加速器技术

1.3参考文档

2处理

2.1模块数据结构定义

#defineGAME_SCREENWIDTH800窗口宽

#defineGAME_SCREENHEIGHT600窗口高

#defineDeleteObj(p){if(p!

=NULL)deletep;p=NULL;}

#defineReleaseCOM(p){if(p!

=NULL)p->Release();p=NULL;}释放空间

#defineFIRST1表示主界面第一个按钮id

#defineSECOND2表示主界面第二个按钮id

#defineTHREE3表示主界面第三个按钮id

#defineEXIT4表示主界面第四个按钮id

#defineBLANK_GRID0

2.2模块功能实现

2.2.1GameWord类成员函数

2.2.1.1MsgProc

函数名

MsgProc()

文件名

GameWord.cpp

功能概要

窗口过程函数

记述形式

LRESULTCALLBACKMsgProc(HWNDhWnd,UINTmsg,WPARAMwParam,LPARAMlParam)

参数HWNDhWnd,UINTmsg,WPARAMwParam,LPARAMlParam

类型

变量名

I/O

说明

HWND

hWnd

-

窗口句柄

UINT

WPARAM

_

消息ID

返回值

类型

LRESULT

说明

详细说明

1鼠标按关闭窗口键,窗口将关闭。

2按ESC键窗口关闭

使用注意事项

【函数处理流程】

流程图1

2.2.1.2Run

函数名

Run()

文件名

GameWord.cpp

功能概要

消息循环

记述形式

VOIDGameWord:

:

Run(VOID)

参数VOID

类型

变量名

I/O

说明

Void

-

-

-

返回值

类型

VOID

说明

详细说明

消息循环,调用一个函数在空闲处理期间显示场景

使用注意事项

【函数处理流程】

流程图2

2.2.1.3GameUpdate

函数名

GameUpdate()

文件名

GameWord.cpp

功能概要

更新窗口

记述形式

BOOLGameWord:

:

GameUpdate(VOID)

参数

类型

变量名

I/O

说明

Void

-

-

-

返回值

类型

BOOL

说明

TRUE

成功返回TURE

FALSE

反之返回FALSE

详细说明

根据对窗口的操作对窗口进行更新

使用注意事项

【函数处理流程】

流程图3

2.2.1.4GameRender

函数名

GameRender()

文件名

GameWord.cpp

功能概要

Direct渲染和显示场景

记述形式

BOOLGameWord:

:

GameRender(VOID)

参数char*err

类型

变量名

I/O

说明

Void

-

-

返回值

类型

BOOL

说明

TRUE

成功返回TURE

FALSE

反之返回FALSE

详细说明

该函数调用所有渲染函数和显示函数

使用注意事项

【函数处理流程】

流程图4

2.2.2InputSystem类成员函数

2.2.2.1Initalize

函数名

Initialize()

文件名

InputSystem.cpp

功能概要

初始化鼠标设备

记述形式

BOOLInputSystem:

:

Initialize()

参数

类型

变量名

I/O

说明

Void

-

-

返回值

类型

BOOL

说明

TRUE

成功返回TURE

FALSE

反之返回FALSE

详细说明

该函数用于创建一个DirectInput8对象,创建一个DirectInput设备,设置数据格式,设置协作级

使用注意事项

【函数处理流程】

流程图5

2.2.3UiSystem类成员函数

2.2.3.1InitResource

函数名

InitResource()

文件名

ManagerSystem.cpp

功能概要

设置游戏主界面的数据

记述形式

BOOLUiSystem:

:

InitResource(RenderSystem*renderSystem)

参数RenderSystem*renderSystem

类型

变量名

I/O

说明

RenderSystem

renderSystem

-

DirectX类的对象

返回值

类型

BOOL

说明

TRUE

成功返回TURE

FALSE

反之返回FALSE

详细说明

创建纹理和精灵,设置原图片和目标图片的坐标,对按钮设置矩形框坐标

使用注意事项

【函数处理流程】

流程图6

2.2.3.2Update

函数名

Update()

文件名

ManagerSystem.cpp

功能概要

当点击按钮时记录按钮编号m_id

记述形式

BOOLUiSystem:

:

Update(VOID)

参数

类型

变量名

I/O

说明

-

返回值

类型

BOOL

说明

TRUE

成功返回TURE

FALSE

反之返回FALSE

详细说明

当点击按钮时记录按钮编号m_id

使用注意事项

【函数处理流程】

流程图7

2.2.3.3Render

函数名

Render()

文件名

ManagerSystem.cpp

功能概要

显示游戏主界面和一系列操作后画面

记述形式

BOOLUiSystem:

:

Render(VOID)

参数

类型

变量名

I/O

说明

-

返回值

类型

BOOL

说明

TRUE

成功返回TURE

FALSE

反之返回FALSE

详细说明

该函数主要调用精灵显示函数来显示界面,当光标停留在按钮上时将调用函数改变按钮图片和光标形状

使用注意事项

【函数处理流程】

流程图8

2.2.4SceneSystem类成员函数

2.2.4.1InitResource

函数名

InitResource()

文件名

ManagerSystem.cpp

功能概要

对游戏界面的数据设置

记述形式

BOOLSceneSystem:

:

InitResource(RenderSystem*renderSystem,std:

:

stringfileBackName,

std:

:

stringmainName,UINTstep)

参数RenderSystem*renderSystem,std:

:

stringfileBackName,std:

:

stringmainName,UINTstep

类型

变量名

I/O

说明

RenderSystem*

renderSystem

-

DirectX类的对象

std:

:

string

fileBackName

-

背景图片的路径

std:

:

string

mainName

-

游戏方块图片路径

UINT

step

-

每个游戏方块的变化个数

返回值

类型

BOOL

说明

TRUE

成功返回TURE

FALSE

反之返回FALSE

详细说明

该函数主要调用设置原图片位置和目标图片位置,还有目标位置的矩形框坐标。

使用注意事项

【函数处理流程】

流程图9

2.2.4.2Random

函数名

Random()

文件名

ManagerSystem.cpp

功能概要

设置游戏方块随机分布在游戏界面上的数据

记述形式

std:

:

vectorSceneSystem:

:

Random(UINTlength)

参数UINTlength

类型

变量名

I/O

说明

UINT

Lengtn

-

游戏方块的总数

返回值

类型

std:

:

vector

说明

tempV

存储游戏方块在原图片的位置

详细说明

调用该函数将会得到游戏界面中游戏方块的图片在原图片中的位置的一个容器

使用注意事项

【函数处理流程】

流程图10

2.2.4.3Update

函数名

Update()

文件名

ManagerSystem.cpp

功能概要

游戏进行时的一些数据判断

记述形式

BOOLSceneSystem:

:

Update(VOID)

参数

类型

变量名

I/O

说明

-

返回值

类型

BOOL

说明

TRUE

成功返回TURE

FALSE

反之返回FALSE

详细说明

该函数主要是在游戏进行时对方块的选取是否正确

使用注意事项

【函数处理流程】

流程图11

2.2.4.4Render

函数名

Render()

文件名

ManagerSystem.cpp

功能概要

游戏场景的显示

记述形式

BOOLSceneSystem:

:

Render(VOID)

参数UINTlength

类型

变量名

I/O

说明

-

返回值

类型

BOOL

说明

TRUE

成功返回TURE

FALSE

反之返回FALSE

详细说明

调用该函数主要是对游戏场景在不同情况下的显示

使用注意事项

【函数处理流程】

流程图12

2.2.4.5GetArrayPos

函数名

GetArrayPos()

文件名

ManagerSystem.cpp

功能概要

获取玩家选定的方块ID

记述形式

UINTSceneSystem:

:

GetArrayPos(intx,inty)

参数intx,inty

类型

变量名

I/O

说明

int

x

-

点击方块的x坐标

int

y

点击方块的y坐标

返回值

类型

UINT

说明

val

获取到方块的ID

m_num

没有获取到新的ID返回原先的

详细说明

调用该函数主要是获取玩家正确点击方块的ID如果玩家点击的位置错误将原来的ID返回

使用注意事项

【函数处理流程】

流程图13

2.2.4.6CheckLink

函数名

CheckLink()

文件名

ManagerSystem.cpp

功能概要

判断选取的两个方块是否可以消除

记述形式

BOOLSceneSystem:

:

CheckLink(UINTfirst,UINTsecond)

参数UINTfirst,UINTsecond

类型

变量名

I/O

说明

UINT

first

-

选取的第一个方块

UINT

second

选取的第二个方块

返回值

类型

BOOL

说明

TRUE

成功返回TURE

FALSE

反之返回FALSE

详细说明

调用该函数主要是通过调用函数来判断选取的两个方块是否可以被消除

使用注意事项

【函数处理流程】

流程图14

2.2.5RenderSystem类成员函数

2.2.5.1InitializeDevice

函数名

InitializeDevice()

文件名

RenderSystem.cpp

功能概要

Direct3D初始化

记述形式

BOOLRenderSystem:

:

InitializeDevice(VOID)

参数

类型

变量名

I/O

说明

-

返回值

类型

BOOL

说明

TRUE

成功返回TURE

FALSE

反之返回FALSE

详细说明

Direct3d初始化

使用注意事项

【函数处理流程】

流程图15

2.2.6Texture类成员函数

2.2.6.1LoadTexture

函数名

LoadTexture()

文件名

ResourceFactory.cpp

功能概要

加载纹理

记述形式

BOOLTexture:

:

LoadTexture(std:

:

stringfileName)

参数std:

:

stringfileName

类型

变量名

I/O

说明

std:

:

string

fileName

-

图片路径

返回值

类型

BOOL

说明

TRUE

成功返回TURE

FALSE

反之返回FALSE

详细说明

调用该函数加载纹理

使用注意事项

【函数处理流程】

流程图16

2.2.7Sprite类成员函数

2.2.7.1Render

函数名

Render()

文件名

ResourceFactory.cpp

功能概要

显示精灵

记述形式

BOOLSprite:

:

Render(TextureInfoinfo,DWORDcolor)

参数TextureInfoinfo,DWORDcolor

类型

变量名

I/O

说明

TextureInfo

info

-

原图片和目标的位置

DWORD

color

颜色

返回值

类型

BOOL

说明

TRUE

成功返回TURE

FALSE

反之返回FALSE

详细说明

调用该函数将加载完纹理和设置好位置的图片显示到屏幕上

使用注意事项

【函数处理流程】

流程图17

2.2.8Check类成员函数

2.2.8.1DirecLink

函数名

DirectLink()

文件名

Scene.cpp

功能概要

连连看算法,在同一行或在同一列的情况

记述形式

BOOLCheck:

:

DirectLink(UINTfirst,UINTsecond)

参数UINTfirst,UINTsecond

类型

变量名

I/O

说明

UINT

first

-

选取的第一个方块ID

UINT

second

选取的第二个方块ID

返回值

类型

BOOL

说明

TRUE

成功返回TURE

FALSE

反之返回FALSE

详细说明

调用该函数判断两个方块是否属于在同一行或在同一列的情况

使用注意事项

【函数处理流程】

流程图18

2.2.8.2oneCenterLink

函数名

oneCenterLink()

文件名

Scene.cpp

功能概要

连连看算法

记述形式

BOOLCheck:

:

oneCenterLink(UINTfirst,UINTsecond)

参数UINTfirst,UINTsecond

类型

变量名

I/O

说明

UINT

first

-

选取的第一个方块ID

UINT

second

选取的第二个方块ID

返回值

类型

BOOL

说明

TRUE

成功返回TURE

FALSE

反之返回FALSE

详细说明

判断选中的两个方块在不同行不同列时是否可以连接

使用注意事项

该算法不考虑连接路径经过边框

【函数处理流程】

流程图19

2.2.8.3twoCenterLink

函数名

twoCenterLink()

文件名

Scene.cpp

功能概要

连连看算法

记述形式

BOOLCheck:

:

twoCenterLink(UINTfirst,UINTsecond)

参数UINTfirst,UINTsecond

类型

变量名

I/O

说明

UINT

first

-

选取的第一个方块ID

UINT

second

选取的第二个方块ID

返回值

类型

BOOL

说明

TRUE

成功返回TURE

FALSE

反之返回FALSE

详细说明

该函数主要判断连接路径经过边框时是否可以连接

使用注意事项

【函数处理流程】

流程图20

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1