概要設(shè)計-基于windows 平臺DirectX視頻加速技術(shù)的連連看游戲設(shè)計與實現(xiàn)_第1頁
概要設(shè)計-基于windows 平臺DirectX視頻加速技術(shù)的連連看游戲設(shè)計與實現(xiàn)_第2頁
概要設(shè)計-基于windows 平臺DirectX視頻加速技術(shù)的連連看游戲設(shè)計與實現(xiàn)_第3頁
概要設(shè)計-基于windows 平臺DirectX視頻加速技術(shù)的連連看游戲設(shè)計與實現(xiàn)_第4頁
概要設(shè)計-基于windows 平臺DirectX視頻加速技術(shù)的連連看游戲設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、 基于windows平臺DirectX視頻加速技術(shù)的連連看游戲概要設(shè)計總頁數(shù)20正文17附錄1生效日期2013.12.4編制批準(zhǔn)20南昌航空大學(xué)東軟班 概要設(shè)計修 改 履 歷修改編號日期修改人版本號修改內(nèi)容1VER0.1.0概要設(shè)計目 錄1文檔概述41.1文檔目的和范圍41.2術(shù)語/縮略語41.3參考文檔42模塊概述42.1模塊功能定義42.2模塊結(jié)構(gòu)52.3用例圖52.4 類圖.62.5 模塊動作時序.133接口說明143.1數(shù)據(jù)結(jié)構(gòu)定義143.2函數(shù)143.2.1模塊間接口函數(shù)143.2.2模塊內(nèi)接口函數(shù)171 文檔概述1.1 文檔目的和范圍該項目主要完成主要是基于windows平臺Dir

2、ectX視頻加速技術(shù)的連連看游戲設(shè)計與實現(xiàn)1.2 術(shù)語/縮略語序號術(shù)語/縮略語說明1DirectX視頻加速器技術(shù)1.3 參考文檔序號文檔名作者時間版本1概要設(shè)計東軟提供2014.12.04VER0.1.02 模塊概述Windows與directX實現(xiàn)連連看游戲,游戲分為3個等級普通,挑戰(zhàn),極限。2.1 模塊功能定義序號功能點(diǎn)功能點(diǎn)詳細(xì)內(nèi)容1主界面進(jìn)入游戲的主界面,通過該界面進(jìn)入不同等級的游戲2普通等級游戲進(jìn)入普通等級進(jìn)行游戲,游戲難易程度相對較低3挑戰(zhàn)等級游戲進(jìn)入挑戰(zhàn)等級進(jìn)行游戲,難易程度相對普通等級要難4極限等級游戲進(jìn)入極限等級進(jìn)行游戲,難易程度相對挑戰(zhàn)等級難2.2 模塊結(jié)構(gòu)程序模塊圖如圖所

3、示:圖2-2模塊結(jié)構(gòu)圖 程序有兩個大模塊組成,游戲模塊和退出游戲模塊。其中游戲模塊一共分為3個小模塊。普通模式游戲模塊,即游戲難易程度最低;挑戰(zhàn)模式游戲模塊,即游戲難度相對難一些;極限模式游戲模塊,即游戲難度比較復(fù)雜,完成游戲的時間相對要長一些。2.3 用例圖用例主要有:用戶開始游戲,用戶進(jìn)行配對圖片。圖2-3用例圖 2.4 類圖類GameWord:圖2-4- 1 該類是程序的主類,分別與SceneSystem、UiSystem、RenderSystem和InputSystem類相關(guān)聯(lián),主要時創(chuàng)建主程序窗口,消息循環(huán),初始化SceneSystem、UiSystem、RenderSystem和I

4、nputSystem,更新窗口和渲染呢窗口。類RendSystem:圖2-4- 2 該類與GameWord相關(guān)聯(lián)。該類用于初始化DirectX和創(chuàng)建精靈對象。類InputSystem:圖2-4- 3 該類分別與UiSystem、SceneSystem和GameWord類相關(guān)聯(lián)。主要用于設(shè)置鼠標(biāo)設(shè)備,獲取一個對象通過該對象判斷鼠標(biāo)是否點(diǎn)擊左鍵或者右鍵同時獲取當(dāng)前光標(biāo)坐標(biāo)。類UiSystem:圖2-4- 4該類與InputSystem、GameWord相關(guān)聯(lián),與MBUtton容器組合關(guān)系。主要是對游戲主界面的背景圖片和按鈕加載紋理,初始化精靈,設(shè)置原圖片和目標(biāo)圖片坐標(biāo),以及設(shè)置按鈕在窗口上的矩形框

5、。最后對主界面進(jìn)行更新和渲染。類SceneSystem:圖2-4- 5該類繼承了Scene類,并且分別與類InputSystem類和Gameword類相關(guān)聯(lián)。主要是對游戲界面背景和游戲方塊加載紋理,初始化精靈,設(shè)置原圖片和目標(biāo)圖片坐標(biāo),以及設(shè)置游戲方塊在窗口上的矩形框。設(shè)置好后,程序會一直在消息循環(huán)中,Update函數(shù)會不停的對界面更新通過CheckLink函數(shù)檢測兩個方塊是否可以消除,然后在通過Render函數(shù)對新數(shù)據(jù)的游戲界面進(jìn)行渲染。類Check:圖2-4- 6該類是Scene類的子類,同時也被SceneSystem類繼承。主要是檢測從SceneSystem類獲取的兩個點(diǎn),總共判斷3中情

6、況,分別用DirectLink函數(shù)判斷同行同列的情況,用oneCenterLink函數(shù)判斷有一個折點(diǎn)的情況,用twoCenterLink函數(shù)判斷有兩個折點(diǎn)的情況。類Scene:圖2-4- 7該類與Button類相關(guān)聯(lián),同時也被Check類繼承。主要成員函數(shù)是GetScreenstart,這個函數(shù)是為了獲取游戲方塊表的開始坐標(biāo)。該類還有重要的成員變量,如m_sceneButton、m_texture、m_gameBack,分別是存儲游戲界面背景和游戲方塊的紋理對象和精靈對象。類Sprite:圖2-4- 8該類是Button類的父類。該類的主要功能是通過獲取的紋理對象對紋理過后的圖片進(jìn)行渲染顯示到

7、窗口上。類Matrix:圖2-4- 9該類與Sprite同時Button類的父類,Button類同時繼承了Sprite和Matrix類。該類的主要功能是通過函數(shù)SetRect設(shè)置矩形框架的坐標(biāo)然后可以同過函數(shù)GetLeftPoint獲取左上角的坐標(biāo),通過函數(shù)GetRect獲取Rect結(jié)構(gòu)體的對象。類Button:圖2-4- 10Button類同時繼承了Sprite和Matrix類,并且與類Scene相關(guān)聯(lián)。由于該類繼承了Sprite和Matrix所以具有著兩個類的功能,該類自己實現(xiàn)的功能是設(shè)置每個方塊的Flag,利用TestButton判斷光標(biāo)是否在相應(yīng)的方塊上,利用Animation實現(xiàn)極限

8、模式下動態(tài)游戲方塊。類Texture:圖2-4- 11該類與類Sprite相關(guān)聯(lián),主要用于加載紋理,通過調(diào)用API函數(shù)D3DXCreateTextureFromFileEx將紋理對象加載到內(nèi)存。類名模塊類型概要說明Sprite類精靈初始化GameWord類游戲框架類UiSystem類游戲主窗口畫面設(shè)置SceneSystem類玩游戲的窗口畫面設(shè)置RenderSystem類DirectX初始化及相關(guān)設(shè)置resource接口初始化LCDInputSystem類鼠標(biāo)操作相關(guān)設(shè)置Texture類游戲畫面紋理設(shè)置Matrix類計算方塊ID大小類Check類方塊消除判斷算法類Scene類將可以消除的方塊清除

9、2.5模塊動作時序圖2-4動作時序圖 首先從GameWord類開始先創(chuàng)建m_RenderSystem對象同時初始化了DirectX3D,接著創(chuàng)建設(shè)備對象m_InputSystem對象同時設(shè)置了鼠標(biāo)設(shè)備數(shù)據(jù),再是創(chuàng)建了m_UiSystem對象同時對主界面圖片加載了紋理和創(chuàng)建了精靈對象。然后是在GameWord類內(nèi)進(jìn)入消息循環(huán)Run(),在循環(huán)內(nèi)先進(jìn)入GameUpdate函數(shù)對主界面進(jìn)行更新,從該函數(shù)進(jìn)入UiSystem類的Update函數(shù)實現(xiàn)更新。更新結(jié)束后從消息循環(huán)內(nèi)進(jìn)入GameRender函數(shù)進(jìn)行主界面渲染,通過UiSystem類的Render進(jìn)入Sprite類的Render完成渲染。主界面

10、渲染結(jié)束后進(jìn)入游戲界面,在GameWord類內(nèi)進(jìn)入消息循環(huán)Run(),在循環(huán)內(nèi)先進(jìn)入GameUpdate函數(shù)對游戲界面進(jìn)行更新,從該函數(shù)進(jìn)入SceneSystem類的Update函數(shù)實現(xiàn)更新,同時對游戲數(shù)據(jù)進(jìn)行一些操作,如檢測函數(shù)對方塊是否可以消除進(jìn)行檢測。更新結(jié)束后從消息循環(huán)內(nèi)進(jìn)入GameRender函數(shù)進(jìn)行主界面渲染,通過SceneSystem類的Render進(jìn)入Sprite類的Render完成渲染,同時完成劃線功能。3 接口說明3.1 數(shù)據(jù)結(jié)構(gòu)定義#define GAME_SCREENWIDTH 800#define GAME_SCREENHEIGHT 600 窗口寬度和高度#defin

11、e DeleteObj(p)if (p != NULL) delete p;p = NULL;#define ReleaseCOM(p) if (p != NULL) p-Release();p= NULL; 釋放空間#define FIRST 1#define SECOND 2#define THREE 3#define EXIT 4 主界面四個按鈕編號3.2 函數(shù)3.2.1 模塊間接口函數(shù) Gameword類接口函數(shù).1 InitializeResource函數(shù)名InitializeResource文件名GameWord.cpp功能概要RenderSystem、

12、InputSystem、UiSystem初始化記述形式VOID InitializeResource(VOID)參數(shù)類型變量名I/O說明void-返回值類型Void說明值詳細(xì)說明RenderSystem、InputSystem、UiSystem初始化使用注意事項無.2 GameUpdate函數(shù)名GameUpdate文件名GameWord.cpp功能概要更新窗口記述形式BOOL GameUpdate(VOID)參數(shù)類型變量名I/O說明void-返回值類型BOOL說明值True正常結(jié)束false異常結(jié)束詳細(xì)說明當(dāng)進(jìn)入不同等級游戲的時候,需要不同的游戲畫面,用該函數(shù)更新窗口畫面使用注意

13、事項 UiSystem類接口函數(shù).1 InitResource函數(shù)名InitResource文件名ManagerSystem.cpp功能概要設(shè)置主界面和按鈕記述形式BOOL InitResource(RenderSystem* renderSystem)參數(shù) 類型變量名I/O說明RenderSystemrenderSystem-DirectX對象返回值類型BOOl說明值True正常結(jié)束False異常結(jié)束詳細(xì)說明設(shè)置主界面和按鈕使用注意事項 SceneSystem類接口函數(shù).1 InitResource函數(shù)名InitResource文件名M

14、anagerSystem.cpp功能概要初始化連連看的表格記述形式BOOL InitResource(RenderSystem* renderSystem,std:string fileBackName, std:string mainName,UINT step)參數(shù)類型變量名I/O說明RenderSystemrenderSystem-DirectX對象stringfileBackName背景圖片名stringmainName連連看圖片文件名UINTstep無符號整型變量返回值類型BOOL說明值True正常結(jié)束False異常結(jié)束詳細(xì)說明初始化游戲界面使用注意事項無3.2.2 模塊內(nèi)接口函數(shù)3

15、.2.2.1 GameWord類接口函數(shù).1 MsgProc函數(shù)名MsgProc文件名GameWord.cpp功能概要窗口過程函數(shù)記述形式LRESULT CALLBACK MsgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)參數(shù)類型變量名I/O說明HWNDhWnd窗口句柄UINTMsg消息返回值類型說明值詳細(xì)說明窗口過程函數(shù)使用注意事項 RenderSystem類接口函數(shù).1 Direct3DCreate9函數(shù)名Direct3DCreate9文件名RenderSystem.cpp功能概要獲

16、取IDirect3D指針對象記述形式Direct3D9 * WINAPI Direct3DCreate9(UINT SDKVersion)參數(shù)類型變量名I/O說明UINTSDKVersion固定的返回值類型Direct3D9說明值正常結(jié)束異常結(jié)束詳細(xì)說明獲取IDirect3D指針對象使用注意事項.2 Clear函數(shù)名Clear文件名RenderSystem.cpp功能概要清除窗口記述形式Clear(0,NULL,D3DCLEAR_TARGET | D3DCLEAR_ZBUFFER,D3DCOLOR_XRGB(r,g,b),1,0)參數(shù)類型變量名I/O說明返回值類型說明值正常結(jié)束異

17、常結(jié)束詳細(xì)說明使用注意事項無.3 CreateDevice函數(shù)名CreateDevice文件名RenderSystem.cpp功能概要獲取DIRECT3DDEVICE9指針記述形式HRESULT CreateDevice(UINT Adapter,D3DDEVTYPE DeviceType,HWND hFocusWindow,DWORD BehaviorFlags,D3DPRESENT_PARAMETERS *pPresentationParameters,IDirect3DDevice9* ppReturnedDeviceInterface);參數(shù)類型變量名I/O說明UINTAdapter序數(shù)所指示的顯示器適配器D3DDEVT

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論