《扫雷设计文档1》由会员分享,可在线阅读,更多相关《扫雷设计文档1(12页珍藏版)》请在金锄头文库上搜索。
1、扫雷游戏文档设计 计科0901班 陈金林一 扫雷游戏需求分析 学号:200910806050311.游戏开发概要:扫雷游戏,设计出规则简单,上手容易,不论男女老少皆可娱乐。扫雷的目的就是要把所有非地雷的格子揭开即胜利。踩到地雷格子就算失败。2 游戏具体要求:扫雷的操作方法游戏主区域由很多个方格组成。使用鼠标随机点击一个方格,方格即被打开并显示出方格中的数字;方格中数字则表示其周围的8个方格隐藏了几颗雷;如果点开的格子为空白格,即其周围有0颗雷,则其周围格子自动打开。例如,方格中出现1,说明上下左右及斜角合计有一颗雷,依次类推,2则有2颗,3则有3颗。在确实是地雷的方格上点了旗子,就安全了,不是
2、地雷的被点了旗子,后面会被炸死。在不确定是否是地雷的方格上用右键标示?符号,表示怀疑这个格子是地雷。这样格子在自动打开时,被标示的格子就不会被打开,导致游戏结束。3. 扫雷游戏的基本规则:在游戏中,当玩家不小心踩到地雷格子就算失败。而当地雷计数器中的数字变成0时,说明地雷全部被查到,游戏结束,玩家胜利。4 英雄榜的显示及更新:当有玩家把当前等级的地雷全部扫出来后,并且时间不比记录中的时间短。在结束游戏时,要求玩家把名字保存下来。游戏初始时时间为999秒。例如,当第一个玩家把全部地雷扫出来的时间为120秒,这时玩家的记录时间将被保存下来并作为记录时间线。直到有玩家的时间少于120秒,才能更新当前
3、记录时间线并保存玩家的名字。5. 有背景音乐支持:在游戏中,能够通过选择播放背景音乐。6. 有更换背景颜色支持:在游戏中,能够根据游戏玩家的个人爱好,更换不同的游戏背景。7. 游戏的帮助:在游戏界面中需要提供游戏使用说明等帮助提示,以方便对本游戏不了解的玩家对游戏进行操作和使用。二 扫雷游戏项目计划安排 1 项目对象:本说明书使用对象主要是程序设计、代码编写、测试及维护等人员。 2 项目要求;根据需求分析制作合理的项目计划安排; 3 项目计划安排:根据项目需求分析,把项目的每一个模块制定出来,然后,根据他们之间的联系,组织每一个模块,逐步构成项目的完整体。 4.项目开发人员:由于本项目工作量比
4、较小,所以整个开发过程都由本人自己完成。 5. 项目的编码与测试:由于本项目工作量比较小,所以整个开发过程都由本人自己完成。 三 扫雷游戏实施方案 1 总体设计 扫雷 表2.扫雷总体设计 游戏格子翻转功能播放背景音乐功能主界面显示功能更好背景颜色功能英雄榜功能帮助功能游戏胜负判断功能剩余地雷及显示时间菜单显示格子数组更新格子标示功能 2 程序设计主模块: 表2 菜单功能模块设计 游戏共由4个类和一个模块组成 主界面对话框类扫雷游戏 扫雷窗口类 英雄对话框类 帮助对话框类 音乐和背景模块 扫雷3 游戏菜单结构的设计游戏帮助 游戏设置 游戏 更换背景颜色更换背景音乐结束暂停开始游戏帮助游戏关于 四
5、 核心代码 1 扫雷游戏的界面实现在扫雷游戏中,通过如下几步即可实现添加游戏的菜单。(1) 在扫雷游戏工程的资源中添加一个菜单资源,其属性如表4所示。ID类 别说 明IDR_MAIN_MENU弹出菜单游戏的主菜单IDR_START_GAME菜单栏开始游戏IDR_EXIT_GAME菜单栏退出游戏IDR_PLAY_MUSIC选择菜单播放音乐IDR_HELP菜单栏帮助IDR_ABOUT菜单栏关于(2)给每个菜单栏添加响应函数到CMineDlg类中。(3)菜单响应函数的实现,如代码1所示。代码1 菜单响应函数的实现01 BEGIN_MESSAGE_MAP(CMineDlg, CDialog) 02 O
6、N_WM_SYSCOMMAND() 03 ON_WM_PAINT() 04 ON_WM_QUERYDRAGICON() / 菜单资源与函数映射表 05 ON_COMMAND(IDR_ABOUT, OnAbout) 06 ON_COMMAND(IDR_EXIT_GAME, OnExitGame) 07 ON_COMMAND(IDR_HELP, OnHelp) 08 ON_COMMAND(IDR_PLAY_MUSIC, OnPlayMusic) 09 ON_COMMAND(IDR_START_GAME, OnStartGame) 10 END_MESSAGE_MAP() 12 BOOL CMine
7、Dlg:OnInitDialog() /初始化对话框 13 14 CDialog:OnInitDialog(); 15 16 m_bStart = FALSE; /设置游戏状态 17 18 InitMenu(); /初始化菜单 19 20 return TRUE; /初始化成功 21 22 . /省略部分代码 23 void CMineDlg:OnOK() /单击确认按钮响应函数 24 25 CDialog:OnOK(); 26 28 void CMineDlg:OnCancel() /单击退出按钮响应函数 29 30 CDialog:OnCancel(); 31 33 void CMineD
8、lg:OnAbout() /关于菜单栏响应函数 34 35 CAboutDlg dlg; /创建关于对话框 36 dlg.DoModal(); /弹出关于对话框 37 39 void CMineDlg:OnExitGame() /退出菜单栏响应函数 40 41 CDialog:OnCancel();/调用基类退出函数 42 44 void CMineDlg:OnHelp() /帮助菜单栏响应函数 45 46 CHelpDlg dlg; /创建帮助对话框 47 dlg.DoModal(); /弹出帮助对话框 48 2 游戏帮助对话框的实现扫雷游戏中的帮助是使用一个对话框来实现的。其实现步骤如下。
9、(1)添加一个对话框资源到工程中,并填写说明文字,如图1所示。 图1 帮助对话框(2)编写一个CHelpDlg对话框类,主要是加载IDD_HELP对话框资源。通过资源中的文字说明对游戏操作方法进行描述。同时只包含单击知道了按钮的响应函数。其类声明如代码2所示。代码2 CHelpDlg对话框类声明 01 / CHelpDlg 对话框类 02 class CHelpDlg : public CDialog /公共继承于CDialog类 03 04 public: 05 CHelpDlg(CWnd* pParent = NULL); /构造函数 06 /对话框资源 07 enum IDD = IDD
10、_HELP ; /加载资源 08 /重载函数 09 protected: 10 virtual void DoDataExchange(CDataExchange* pDX); 11 protected: 12 virtual void OnOK();/单击确定按钮响应函数声明 13 DECLARE_MESSAGE_MAP() 14 ; (3)CHelpDlg对话框类的实现,需要实现对话框类的构造函数、析构函数和知道了按钮响应函数,其代码如代码3所示。代码3 CHelpDlg对话框类的实现 00 / CHelpDlg 对话框类实现 01 CHelpDlg:CHelpDlg(CWnd* pPar
11、ent /*=NULL*/)/构造函数 02 : CDialog(CHelpDlg:IDD, pParent) 03 04 05 void CHelpDlg:DoDataExchange(CDataExchange* pDX) 06 07 CDialog:DoDataExchange(pDX); 08 09 BEGIN_MESSAGE_MAP(CHelpDlg, CDialog) 10 END_MESSAGE_MAP() 11 / CHelpDlg 消息响应函数 12 void CHelpDlg:OnOK() /单击知道了按钮响应函数 13 14 CDialog:OnOK(); 15 游戏英雄
12、榜对话框的实现扫雷游戏英雄榜的实现,分为如下几步:(1)创建一个对话框资源,并添加相应的控件,如图2所示。 图2 英雄榜对话框资源(2)添加CHeroDlg类,其中需要包含IDD_HERO_DLG对话框资源和设置可写记录标志接口函数声明,用于外部函数调用时,设置是否对配置文件进行写操作。类的声明如代码4所示。代码4 00 / CHeroDlg dialog 01 class CHeroDlg : public CDialog 02 03 public: 04 void SetWriteFlg(BOOL bflg); /接口函数,设置可记录标志变量 05 CHeroDlg(CWnd* pParent = NULL); /构造函数 06 enum IDD = IDD_HERO_LIST ; /对话框资源 07 int m_time; /保存时间变量 08 CString m_name; /保存姓名变量 09 public: 10 virtual int DoModal(); /弹出对话框函数声明 11 protected: 12