软件体系结构课程设计扫雷游戏.doc
《软件体系结构课程设计扫雷游戏.doc》由会员分享,可在线阅读,更多相关《软件体系结构课程设计扫雷游戏.doc(18页珍藏版)》请在沃文网上搜索。
1、目录0、引言.21、工作计划.2 1.1、主要工作阶段划分.2 1.2、各阶段工作任务分解.22、需求分析.2 2.1、概述.2 2.2、用户分析.3 2.3、约束条件.3 2.4、功能需求.3 2.5、用户界面需求.43、设计与实现.5 3.1、概述.5 3.2、体系结构.53.3、主要程序文件.11 3.4、开发坏境以及部署环境要求.134、测试坏境.13 4.1、概述.13 4.2、测试坏境.13 4.3、测试计划.13 4.4、测试项目.145、工作总结.17 5.1、工作成果.17 5.2、过程分析.17 5.3、经验教训及其分析.180引言 扫雷游戏是一直以来比较流行的趣味性游戏之
2、一,其开发过程有一定的技巧和方法,其中涉及到软中断、二维数组、鼠标操作以及图形化函数等方面的知识,本游戏的开发者需要掌握部分图形函数的使用,二维数组以及结构体的定义,很多操作系统都会带有这款游戏,它既能锻炼思维的严密性,又有很大的乐趣,我个人也比较喜欢这款游戏,因此,我就借这个机会将这款游戏用C+语言将它实现。1 工作计划1.1主要工作阶段划分此项目所有的工作均由代禄礼一人完成。1.2各阶段工作任务分解阶段名称任务名称任务描述负责人协助人 需求分析确定要实现那些功能确定不做什么,做什么,以及要实现那些功能代禄礼代禄礼结构设计对已经确定的功能进行设计对已经确定的功能进行设计代禄礼代禄礼程序设计对
3、结构设计用代码的形式体现出来用C+代码将已经确定的设计用代码来体现代禄礼代禄礼测试测试测试看项目中有没有错误代禄礼代禄礼2需求分析2.1概述 此项目的主要任务是开发一款趣味性游戏扫雷。该项目是用C+语言来实现的。首先建立一个名为Mine的项目工程,再根据所要求的进行设计。要求要实现很多功能,自定义雷区、扫雷英雄榜和胜利后的提示,主要是图形设计也就是窗口绘制、菜单设计和算法。在这个项目中最关键的也就是如何获取某个小方块区域相邻8个区域的雷个数,如何获取某个小方块区域相邻8个区域的已标志状态数。2.2用户分析对于用户来讲,最主要的就是提高软件质量,不能出现太明显的错误,再者就是人机界面的设计,因为
4、每个人都喜欢漂亮的界面,所以界面应该是突出点。2.3 约束条件1、开发者角度:对于开发者来说开发项目的时间,人员等因素可能会导致项目的失败。2、用户的角度:主要就是需求的确定,最难的就是用户不知道该实现什么,什么才是自己所需要的。2.4功能需求1、系统模块设计本程序包括初始化模块、画图模块和功能控制模块设计。 2、所要实现的功能如图所示:该项目主要实现以上功能,自定义雷区、游戏帮助、选择游戏级别。2.5用户界面需求用户界面是用户使用该软件是展现在面前的操作窗口。首先最起码要操作简单,不管懂不计机知识都能够使用,其次就是美观。如上图所示:游戏窗口简单,容易操作,功能齐全。3设计与实现3.1概述我
5、觉得在扫雷游戏中只有两个突出点,也可以说是两个关键点,第一,就是绘图,也就是图形设计,第二,算法。1、 绘图主要分五个点。绘制笑脸按钮、绘制数字、绘制外壳、绘制雷区、绘制按下扫雷后的数字和重新绘制雷区域的某个小方块。绘制图形所对应的函数:绘制笑脸按钮:void CMineWnd:DrawButton(CPaintDC &dc)绘制数字:void CMineWnd:DrawNumber(CPaintDC &dc)绘制外壳:void CMineWnd:DrawShell(CPaintDC &dc)绘制雷区:void CMineWnd:DrawMineArea(CPaintDC &dc)绘制按下扫雷
6、后的数字:void CMineWnd:DrawDownNum(MINEWND* mine, UINT num)重新绘制雷区域的某个小方块:void CMineWnd:DrawSpecialMine(UINT row, UINT col) 2、获取某个小方块区域相邻8个区域的雷个数和获取某个小方块区域相邻8个区域的已标志状态数。3.2体系结构1、类图分析上图就是该项目所有类之间的关系,用户直接和扫雷英雄榜、自定义雷区、游戏级别、过关提示相关联。因为游戏级别分为初级、中级和高级,扫雷英雄榜也分为初级、中级、高级,分别记录信息,每个用户可以直接查看扫雷英雄榜的记录,但是如果用户胜利过关后可以把自己的
7、信息输入系统会自动保存。2、 序列图(1)、自定义雷区:当用户打开游戏界面时就会看到“游戏”这个按钮,点击选择自定义雷区就可以了。用户发送请求,当系统受到请求后会弹出一个对话框,用户可以输入所需要的信息,确定就可以输出一个新的游戏界面。(2)、扫雷英雄榜用户发送请求给系统,当系统受到请求之后就会弹出扫雷英雄榜的对话框,当用户胜利过关后输入自己的信息,系统会自动保存。(3)、选择游戏级别用户发送请求给游戏菜单,收到请求后系统会自动弹出游戏选择对话框,用户可以按照自己的需要进行选择。(4)、游戏帮助用户发送请求给系统,系统接收到用户的请求后会弹出游戏帮助的所有内容。3、 状态图(1)、自定义雷区(
8、2)、扫雷英雄榜(3)、选择游戏级别(4)、游戏帮助3.3 主要程序文件3.3.1、在此程序中定义了以下几个类:1、创建窗口类类Mine2、游戏主窗口类MineWnd 3、自定义雷区类DlgCustom 4、扫雷英雄榜类DlgHero 5、声音处理类Sound6、辅助工具类Help 3.3.2、数据结构设计 结构体定义:typedef struct UINT uRow; /所在雷区二维数组的行UINT uCol; /所在雷区二位数组的列UINT uState; /当前状态UINT uAttrib; /方块属性UINT uOldState; /历史状态 MINEWND;/ 雷方块结构体3.3.3
9、、函数功能描述1、CMineWnd:SaveConfig()功能是保存所获取的信息。 2、CMineWnd:InitGame()功能为游戏的初始化。 3、CMineWnd:LayMines(UINT row, UINT col)主要用来布雷。 4、CMineWnd:GetAroundNum(UINT row, UINT col)获取某个小方块区域相邻8个区域的雷个数 5、CMineWnd:GetAroundFlags(UINT row, UINT col)获取某个小方块区域相邻8个区域的已标志状态数 6、CMineWnd:IsMine(UINT row, UINT col)判断是否为雷 7、C
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 体系结构 课程设计 扫雷 游戏