![軟件詳細設(shè)計說明書_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-8/1/ffb8df01-ebf4-4de5-8b6c-ea73ab08d774/ffb8df01-ebf4-4de5-8b6c-ea73ab08d7741.gif)
![軟件詳細設(shè)計說明書_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-8/1/ffb8df01-ebf4-4de5-8b6c-ea73ab08d774/ffb8df01-ebf4-4de5-8b6c-ea73ab08d7742.gif)
![軟件詳細設(shè)計說明書_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-8/1/ffb8df01-ebf4-4de5-8b6c-ea73ab08d774/ffb8df01-ebf4-4de5-8b6c-ea73ab08d7743.gif)
![軟件詳細設(shè)計說明書_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-8/1/ffb8df01-ebf4-4de5-8b6c-ea73ab08d774/ffb8df01-ebf4-4de5-8b6c-ea73ab08d7744.gif)
![軟件詳細設(shè)計說明書_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-8/1/ffb8df01-ebf4-4de5-8b6c-ea73ab08d774/ffb8df01-ebf4-4de5-8b6c-ea73ab08d7745.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、軟件詳細設(shè)計說明書擬制:鄧校新日期:2012/11/27審核: 鄒卓威日期:2012/11/29核準: 鄒卓威、鄧校新日期:2012/12/02簽發(fā): 龐雄文日期:文檔版本:V-1.0文件修改記錄修改日期版本修改頁碼、章節(jié)、條款修改描述作者目 錄1 目的52 代碼框架描述5功能性需求:5目錄結(jié)構(gòu):52.2 源文件說明73 數(shù)據(jù)結(jié)構(gòu)83.1 數(shù)據(jù)結(jié)構(gòu)定義83.2 公共頭文件104 子模塊1(闖關(guān))105.子模塊2(地圖編輯) 通過鼠標的拖動與釋放繪制遠見,截面如下11軟件詳細設(shè)計說明書關(guān)鍵詞: 推箱子小游戲 地圖編輯器摘 要: 本項目是推箱子小游戲。該游戲基于Windows平臺,運行于Windo
2、ws 7操作系統(tǒng)。除了具備一般的推箱子游戲的功能外,用戶可以自行編輯關(guān)卡地圖。游戲者可以通過選擇關(guān)卡選擇相應(yīng)的地圖進行加載,并且進行游戲。參考資料:1. Windows 程序設(shè)計(第2版) 王艷平 (作者), 張錚 (作者) 人民郵電出版社2. MFC Windows程序設(shè)計(第2版)(修訂版) 帕羅賽斯 (作者) 清華大學(xué)出版社3. Windows核心編程(第5版) 杰夫瑞 (Jeffrey Richter) (作者), 克里斯托夫 (Christophe Nasarre) (作者), 葛子昂 (譯者), 周靖 (譯者), 廖敏 (譯者) 清華大學(xué)出版社4. GDI+圖形程序設(shè)計 錢德 (C
3、hand Mahesh) (作者), 韓江 (譯者) 電子工業(yè)出版社5. 用戶界面設(shè)計:有效的人機交互策略(第5版) 施耐德曼(Ben Shneiderman) (作者), 普萊薩特(Catherine Plaisant) (作者), 李健利 (合著者), 張國印 (譯者), 汪濱琦 (譯者), 等 (譯者) 電子工業(yè)出版社6. Photoshop CS5中文版完全學(xué)習(xí)手冊(超值版) 毛小平 (作者), 尹小港 (作者) 人民郵電出版社1 目的編寫這份軟件需求說明書的目的,指出預(yù)期的讀者。軟件需求說明書的作用在于便于用戶、開發(fā)人員進行理解和交流,反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)
4、和依據(jù),并作為確認測試和驗收的依據(jù)。2 代碼框架描述功能性需求:選關(guān)功能:選擇需要進行的關(guān)卡。加載地圖:加載關(guān)卡對應(yīng)的地圖。闖關(guān)功能:用戶控制小人物進行推箱子游戲。編輯地圖:用戶開啟地圖編輯器進行地圖繪制。保存地圖:用戶保存所繪制的地圖。目錄結(jié)構(gòu):(說明系統(tǒng)源代碼文件存放的目錄、子目錄,及其包含的文件列表。如下:)目錄名稱目錄說明包含源文件列表PushBox推箱子工程文件夾BoxMan.cppBoxMan.hHelpDlg.cppHelpDlg.hLoadMapDlg.cppLoadMapDlg.hMainFrm.cppMainFrm.hPushBox.cppPushBox.hPushBoxD
5、oc.cppPushBoxDoc.hPushBoxView.cppPushBoxView.hPushBoxWnd.cppPushBoxWnd.hresource.hStdAfx.cppStdAfx.hPushBox/Debug游戲源程序編譯連接后的目標文件以及可執(zhí)行程序 BoxMan.objHelpDlg.objLoadMapDlg.objPushBox.exePusBox.objPushBox_Edit.objPushBosWnd.objStdAfx.objPushBox/Res游戲的資源文件目錄Box.,icohelp.bmpicon1.icoPushBox.icoPushBox.rc2P
6、ushBox_Editor地圖編輯器的工程MainFrm.cppMainFrm.hMissionLevelDlg.cppMissionLevelDlg.hPushBox_Edit.cppPushBox_Edit.hPushBox_Editor.cppPushBox_Editor.hPushBox_EditorDoc.cppPushBox_EditorDoc.hPushBox_EditorView.cppPushBox_EditorView.hPushBox_EditorWnd.cppPushBox_EditorWnd.hResource.hStdAfx.cppStdAfx.hPushBox_E
7、ditor/Debug地圖編輯器源程序編譯連接后的目標文件以及可執(zhí)行程序MissionLevelDlg.objPushBox_Edit.objPushBox_Editor.exePushBox_Editor.objPushBox_Editor.resPushBox_EditorWnd.objStdAfx.objPushBox_Editor/Res地圖編輯器用到的資源文件Box.icoico00001.icoico00002.icoico00003.icoico00004.icoico00005.icoicon_bac.icoicon1.icoPUSH_BOX_EDITOR.png2.2 源文件
8、說明下表格式對系統(tǒng)包含的源代碼文件進行大致說明: 源文件名稱文件描述子模塊1 推箱子游戲BoxMan.cpp類CBoxMan的實現(xiàn)BoxMan.h類CBoxMan的定義HelpDlg.cpp類CHelpDlg的實現(xiàn)HelpDlg.h類CHelpDlg的定義LoadMapDlg.cpp類CLoadMapDlg的實現(xiàn)LoadMapDlg.h類CLoadMapDlg的定義PushBox.cpp類CPushBoxApp的實現(xiàn)PushBox.h類CPushBoxApp的定義PushBox.rc資源文件PushBox_Edit.cpp類CPush_Edit的實現(xiàn)PushBoxWnd.cpp類CPushBo
9、xWnd的實現(xiàn)PushBoxWnd.h類CPushBoxWnd的定義StdAfx.cpp預(yù)編譯文件StdAfx.h于編譯頭文件Resource.h資源頭文件子模塊2 地圖編輯器MissionLevelDlg.cpp類CMissionLevelDlg的實現(xiàn)MissionLevelDlg.h類CMissionLevelDlg的定義PushBox_Edit.cpp類CPushBox_Edit的實現(xiàn)PushBox_Edit.h類CPushBox_Edit的定義PushBox_Editor.cpp類CPushBox_EditorApp的實現(xiàn)PushBox_Editor.h類CPushBox_Editor
10、App的定義PushBox_EditorWnd.cpp類CPushBox_EditorWnd的實現(xiàn)PushBox_EditorWnd.h類CPushBox_EditorWnd的定義StdAfx.cpp預(yù)編譯文件StdAfx.h預(yù)編譯頭文件PushBox_Editor.rc資源文件Recource.h資源頭文件(注:“目錄結(jié)構(gòu)”和“源文件說明”表格在詳細設(shè)計后期和編碼階段都可能被修改。) 3 數(shù)據(jù)結(jié)構(gòu)3.1 數(shù)據(jù)結(jié)構(gòu)定義宏:#define MAP_BACKGROUND 48 #define MAP_WALL 49 #define MAP_PATH 50 #define MAP_DESTINATI
11、ON 51 #define MAP_BOX 52 #define MAP_SET 53 #define MAP_MAN_IN_PATH 54 #define MAP_MAN_IN_DESTINATION #define M_TAB_WIDTH 20 / 橫向方塊數(shù)目#define M_TAB_HEIGHT 20 / 縱向方塊數(shù)目全局變量:extern int MAP_WIDTH; /= 16;extern int MAP_HEIGHT; / = 14;extern int MAP_SMALL_SQUARE_SIZE; / = 30;主要功能類:CBoxMan屬性:int m_iMissionN
12、um; /關(guān)卡編號char m_cMapM_TAB_WIDTHM_TAB_HEIGHT; /方塊矩陣CPoint m_ptManPosition; /小人物的位置方法:int LoadMaxMissionNum(void); /加載最大的關(guān)卡編號void KeyDown(UINT nChar, UINT nRepCnt, UINT nFlags); /按鍵處理CPoint GetManPosition(); /獲取小人物的位置int GetNowMissionNum(void); /獲取目前的關(guān)卡編號BOOL ChangeMissionNum(int iNum); /檢測關(guān)卡編號是否有變voi
13、d DrawSet(int x,int y,CDC* pDC); /繪制已放到目的地的箱子void DrawDestination(int x,int y,CDC* pDC); /繪制目的地void DrawManInPath(int x,int y,CDC* pDC); /繪制通道上的小人物void DrawManInDestination(int x,int y,CDC* pDC); /繪制在目的地的小人物void DrawBox(int x,int y,CDC* pDC); /繪制箱子void DrawPath(int x,int y,CDC* pDC); /繪制通道void DrawW
14、all(int x,int y,CDC* pDC); /繪制圍墻void DrawBackGround(int x,int y,CDC *pDC); /繪制背景void DrawGameArea(CDC *pDC); /繪制游戲區(qū)域bool IsFinish(); /檢測是否闖關(guān)成功void UpdateMap(int x1,int y1,int x2,int y2,int x3,int y3); /更新地圖void DispatchMsg(UINT nChar); /檢測并處理按鍵void LoadMap(int iMissionNum); /加載地圖CBoxMan(); /構(gòu)造函數(shù)virt
15、ual CBoxMan(); /析構(gòu)函數(shù)CPushBox_Edit屬性:int m_iMissionNum; /關(guān)卡編號char m_cMapM_TAB_WIDTHM_TAB_HEIGHT; /方塊矩陣CPoint m_ptManPosition; /小人物的位置方法:bool IsFinish(); /是否完成地圖繪制void ClearMap(void); /清理已繪制的地圖void SaveMap(void); /保存地圖void DrawMouseCursor(int x,int y,int iState,CDC *pDC); /處理鼠標拖動void ChangeMap(int x,i
16、nt y,int iState); /更換地圖BOOL ChangeMissionNum(int iNUM); /更換關(guān)卡數(shù)int GetNowMissionNum(void); /獲取當(dāng)前關(guān)卡CPushBox_Edit(); /構(gòu)造函數(shù)virtual CPushBox_Edit(); /析構(gòu)函數(shù)void DrawMap(CDC* pDC); /繪制地圖void LoadMap(int iMissionNum); /加載地圖void UpdateMap(int x1, int y1, int x2, int y2, int x3, int y3); /更新地圖CPoint GetManPosi
17、tion(); /獲取小人物坐標void UpdateMap(UINT nChar); /更新地圖int LoadMaxMissionNum(void); /加載地圖數(shù)目void DrawManInDestination(int x,int y,CDC *pDC); /目的地上的小人物void DrawManInPath(int x,int y,CDC *pDC); /繪制通道上的小人物void DrawSet(int x,int y,CDC* pDC); /繪制目的地上的箱子void DrawBox(int x,int y,CDC* pDC); /繪制箱子void DrawDestination(int x,int y,CDC* pDC); /繪制目的地void DrawWall(int x,int y,CDC* pDC); /繪制圍墻void DrawB
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 簡單公司場地租用合同
- 貨車轉(zhuǎn)讓合同范本
- 消防維保合同書
- 購銷日化用品的合同
- 氨-柴油雙燃料發(fā)動機性能仿真及優(yōu)化研究
- 一種新型義齒修復(fù)材料JSAM的生物相容性評價
- 2025年人教版拓展型課程化學(xué)下冊階段測試試卷含答案
- 2025年浙教版九年級歷史下冊月考試卷含答案
- 2025年湘師大新版七年級歷史上冊月考試卷含答案
- 2025年人教新起點必修3物理上冊月考試卷
- 開工第一課安全培訓(xùn)內(nèi)容
- 印度與阿拉伯的數(shù)學(xué)
- 口腔科院感知識培訓(xùn)針刺傷
- 會陰切開傷口裂開的護理查房
- 《鋼鐵是怎樣煉成的》選擇題100題(含答案)
- 2024年國新國際投資有限公司招聘筆試參考題庫含答案解析
- 食堂餐廳服務(wù)方案投標方案(技術(shù)標)
- Creo-7.0基礎(chǔ)教程-配套課件
- 六年級人教版上冊數(shù)學(xué)計算題練習(xí)題(及答案)100解析
- 超聲科質(zhì)量控制制度及超聲科圖像質(zhì)量評價細則
- 初中物理滬粵版八年級下冊《第六章 力和機械》章節(jié)練習(xí)(含答案)
評論
0/150
提交評論