软件详细设计说明书.doc_第1页
软件详细设计说明书.doc_第2页
软件详细设计说明书.doc_第3页
软件详细设计说明书.doc_第4页
软件详细设计说明书.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件详细设计说明书拟制:邓校新日期:2012/11/27审核: 邹卓威日期:2012/11/29核准: 邹卓威、邓校新日期:2012/12/02签发: 庞雄文日期:文档版本:V-1.0文件修改记录修改日期版本修改页码、章节、条款修改描述作者目 录1 目的52 代码框架描述5功能性需求:5目录结构:52.2 源文件说明73 数据结构83.1 数据结构定义83.2 公共头文件104 子模块1(闯关)105.子模块2(地图编辑) 通过鼠标的拖动与释放绘制远见,截面如下11软件详细设计说明书关键词: 推箱子小游戏 地图编辑器摘 要: 本项目是推箱子小游戏。该游戏基于Windows平台,运行于Windows 7操作系统。除了具备一般的推箱子游戏的功能外,用户可以自行编辑关卡地图。游戏者可以通过选择关卡选择相应的地图进行加载,并且进行游戏。参考资料:1. Windows 程序设计(第2版) 王艳平 (作者), 张铮 (作者) 人民邮电出版社2. MFC Windows程序设计(第2版)(修订版) 帕罗赛斯 (作者) 清华大学出版社3. Windows核心编程(第5版) 杰夫瑞 (Jeffrey Richter) (作者), 克里斯托夫 (Christophe Nasarre) (作者), 葛子昂 (译者), 周靖 (译者), 廖敏 (译者) 清华大学出版社4. GDI+图形程序设计 钱德 (Chand Mahesh) (作者), 韩江 (译者) 电子工业出版社5. 用户界面设计:有效的人机交互策略(第5版) 施耐德曼(Ben Shneiderman) (作者), 普莱萨特(Catherine Plaisant) (作者), 李健利 (合著者), 张国印 (译者), 汪滨琦 (译者), 等 (译者) 电子工业出版社6. Photoshop CS5中文版完全学习手册(超值版) 毛小平 (作者), 尹小港 (作者) 人民邮电出版社1 目的编写这份软件需求说明书的目的,指出预期的读者。软件需求说明书的作用在于便于用户、开发人员进行理解和交流,反映出用户问题的结构,可以作为软件开发工作的基础和依据,并作为确认测试和验收的依据。2 代码框架描述功能性需求:选关功能:选择需要进行的关卡。加载地图:加载关卡对应的地图。闯关功能:用户控制小人物进行推箱子游戏。编辑地图:用户开启地图编辑器进行地图绘制。保存地图:用户保存所绘制的地图。目录结构:(说明系统源代码文件存放的目录、子目录,及其包含的文件列表。如下:)目录名称目录说明包含源文件列表PushBox推箱子工程文件夹BoxMan.cppBoxMan.hHelpDlg.cppHelpDlg.hLoadMapDlg.cppLoadMapDlg.hMainFrm.cppMainFrm.hPushBox.cppPushBox.hPushBoxDoc.cppPushBoxDoc.hPushBoxView.cppPushBoxView.hPushBoxWnd.cppPushBoxWnd.hresource.hStdAfx.cppStdAfx.hPushBox/Debug游戏源程序编译连接后的目标文件以及可执行程序 BoxMan.objHelpDlg.objLoadMapDlg.objPushBox.exePusBox.objPushBox_Edit.objPushBosWnd.objStdAfx.objPushBox/Res游戏的资源文件目录Box.,icohelp.bmpicon1.icoPushBox.icoPushBox.rc2PushBox_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_Editor/Debug地图编辑器源程序编译连接后的目标文件以及可执行程序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 源文件说明下表格式对系统包含的源代码文件进行大致说明: 源文件名称文件描述子模块1 推箱子游戏BoxMan.cpp类CBoxMan的实现BoxMan.h类CBoxMan的定义HelpDlg.cpp类CHelpDlg的实现HelpDlg.h类CHelpDlg的定义LoadMapDlg.cpp类CLoadMapDlg的实现LoadMapDlg.h类CLoadMapDlg的定义PushBox.cpp类CPushBoxApp的实现PushBox.h类CPushBoxApp的定义PushBox.rc资源文件PushBox_Edit.cpp类CPush_Edit的实现PushBoxWnd.cpp类CPushBoxWnd的实现PushBoxWnd.h类CPushBoxWnd的定义StdAfx.cpp预编译文件StdAfx.h于编译头文件Resource.h资源头文件子模块2 地图编辑器MissionLevelDlg.cpp类CMissionLevelDlg的实现MissionLevelDlg.h类CMissionLevelDlg的定义PushBox_Edit.cpp类CPushBox_Edit的实现PushBox_Edit.h类CPushBox_Edit的定义PushBox_Editor.cpp类CPushBox_EditorApp的实现PushBox_Editor.h类CPushBox_EditorApp的定义PushBox_EditorWnd.cpp类CPushBox_EditorWnd的实现PushBox_EditorWnd.h类CPushBox_EditorWnd的定义StdAfx.cpp预编译文件StdAfx.h预编译头文件PushBox_Editor.rc资源文件Recource.h资源头文件(注:“目录结构”和“源文件说明”表格在详细设计后期和编码阶段都可能被修改。) 3 数据结构3.1 数据结构定义宏:#define MAP_BACKGROUND 48 #define MAP_WALL 49 #define MAP_PATH 50 #define MAP_DESTINATION 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 / 横向方块数目#define M_TAB_HEIGHT 20 / 纵向方块数目全局变量:extern int MAP_WIDTH; /= 16;extern int MAP_HEIGHT; / = 14;extern int MAP_SMALL_SQUARE_SIZE; / = 30;主要功能类:CBoxMan属性:int m_iMissionNum; /关卡编号char m_cMapM_TAB_WIDTHM_TAB_HEIGHT; /方块矩阵CPoint m_ptManPosition; /小人物的位置方法:int LoadMaxMissionNum(void); /加载最大的关卡编号void KeyDown(UINT nChar, UINT nRepCnt, UINT nFlags); /按键处理CPoint GetManPosition(); /获取小人物的位置int GetNowMissionNum(void); /获取目前的关卡编号BOOL ChangeMissionNum(int iNum); /检测关卡编号是否有变void 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 DrawWall(int x,int y,CDC* pDC); /绘制围墙void DrawBackGround(int x,int y,CDC *pDC); /绘制背景void DrawGameArea(CDC *pDC); /绘制游戏区域bool IsFinish(); /检测是否闯关成功void UpdateMap(int x1,int y1,int x2,int y2,int x3,int y3); /更新地图void DispatchMsg(UINT nChar); /检测并处理按键void LoadMap(int iMissionNum); /加载地图CBoxMan(); /构造函数virtual CBoxMan(); /析构函数CPushBox_Edit属性:int m_iMissionNum; /关卡编号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,int y,int iState); /更换地图BOOL ChangeMissionNum(int iNUM); /更换关卡数int GetNowMissionNum(void); /获取当前关卡CPushBox_Edit(); /构造函数virtual CPushBox_Edit(); /析构函数void DrawMap(CDC* pDC); /绘制地图void LoadMap(int iMissionNum); /加载地图void UpdateMap(int x1, int y1, int x2, int y2, int x3, int y3); /更新地图CPoint GetManPosition(); /获取小人物坐标void UpdateMap(UINT nChar); /更新地图int LoadMaxMissionNum(void); /加载地图数目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 Draw

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论