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 ;
#endif
3.2游戏帮助对话框的实现
扫雷游戏中的帮助是使用一个对话框来实现的。其实现步骤如下。
添加一个对话框资源到工程中,并填写说明文字。
编写一个CAboutDlg对话框类,主要是加载IDD_ABOUTBOX对话框资源。通过资源中的文字说明对游戏操作方法进行描述。同时只包含单击“确定”按钮的响应函数。
CAboutDlg对话框类
显示全部