- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c++课程设计扫雷1.doc
课 程 设 计 报 告
课程名称:面向对象程序设计C++
设计题目: 扫雷
专 业:计算机科学与技术
姓 名:
学 号:
指导教师:李 晓 虹
2016 年 1 月 7 日
系统需求分析
随着世界经济的长足发展和计算机技术的日益成熟,计算机被应用到人类活动的各个领域,各种应用软件也相继问世,这其中有相当一部分是游戏软件。使用游戏软件自然是为了满足人们对娱乐性的要求,而有些软件大都采用3D设计对系统配置的要求较高。 在众多游戏软件中,也不乏一些小游戏的身影,它们对系统的配置要求较低。能够满足人们对娱乐性的需求,是人们在完成工作娱乐时候的最好选择。在各种操作系统中都附带了一些小的游戏,而这些游戏也成为电脑用户软件中不可或缺的一部分。 扫雷游戏是比较经典的一款小游戏,过去的几年里Windows操作系统历经数次换代,变得越来越庞大、复杂,但这个可爱的小游戏在任何版本的Windows操作系统里去却依然保持着原貌。但几乎每个电脑使用者都接触过它,并且深爱着这款小游戏。作为本系统的开发工具,Microsoft Visual C++ 6.0成为首选。它具有可视化的编程界面、详细的提示、以及完善的帮助文档,使得软件开发人员感到无比的亲切感。
总体设计
2.1 设计思路
在设计之前,我们先来了解这款游戏的规则:在不打开任何藏有地雷的格子情况下,以最快的速度找出所有的地雷。如果在打开格子的过程中,不小心翻开(踩到)藏有地雷的格子,则宣告失败(游戏结束),惟有将所有不含地雷的格子打开,游戏才算成功。
游戏的操作方面主要以鼠标为主,当鼠标指针对准未翻开的格子按下左键时即表示翻开格子,当鼠标指针对准未翻开的方块按下右键时即表示标示或疑示地雷,反复按下右键则格子会以未标示→标示→疑似三者关系不断循环。游戏者可以通过地雷区内的数字提示了解以数字为中心的其周边八个格子内所含的地雷数,假若翻开的格子显示数字“3”,则表示以其为中心的周边格子内藏有3个地雷。当按下的格子不是地雷,且周边八个格子也都没有地雷时,格子会以被翻开格子的八个方向将空白格子翻开。
2.2模块功能介绍
游戏总共七个类,其中以下四个类为主要。
主界面对话框类:主要负责主菜单及各个窗口类对象的创建和调用等处理。
扫雷窗口类:主要负责接收玩家鼠标输入的打开格子位置、格子变换、花费时间及地雷格子的显示等处理。
帮组对话框类:主要负责帮助提示的显示及其它显示功能。
扫雷视图类:主要负责显示扫雷界面的展示。
2.3模块结构图
2.3.1游戏主界面设计
扫雷游戏主界面的设计,如下图1所示
图1扫雷游戏主界面
2.3.2游戏主菜单结构的设计
图2 游戏主菜单结构
详细设计
3.1游戏菜单的实现
在扫雷游戏中,通过如下几个步骤即可实现添加游戏的菜单。
在扫雷游戏工程的资源中添加一个菜单资源
给每个菜单栏添加响应函数到CMainFrame类中。
菜单响应函数的实现,代码如下,
#if !defined(AFX_MAINFRM_H__91F247CA_D634_432A_AC01_35B33EA7D404__INCLUDED_)
#define AFX_MAINFRM_H__91F247CA_D634_432A_AC01_35B33EA7D404__INCLUDED_
#if _MSC_VER 1000
#pragma once
#endif // _MSC_VER 1000
class CMainFrame : public CFrameWnd
{
protected: // create from serialization only
CMainFrame();
DECLARE_DYNCREATE(CMainFrame)
// Attributes
public:
// Operations
public:
virtual BOOL PreCreateWindow(CREATESTRUCT cs);
public:
virtual ~CMainFrame();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext dc) const;
#endif
protected:
DECLARE_MESSAGE_MAP
文档评论(0)