C++实现扫雷小游戏(控制台版)-创新互联

本文为大家分享了C++实现扫雷小游戏的具体代码,供大家参考,具体内容如下

成都创新互联公司长期为上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为滁州企业提供专业的成都网站设计、网站建设,滁州网站改版等技术服务。拥有十年丰富建站经验和众多成功案例,为您定制开发。

程序功能:

提供三种模式:初级、中级、高级

操作模式:wsad控制光标移动,空格键打开方块

提供扫雷地图的类

map.h

#ifndef MAP_H_
#define MAP_H_
 
#define MAX_LENGTH 32  //可以提供的地图大长度
#define MAX_WIDTH 18  //可以提供的地图大宽度
#define UP_EDGE 1   //上边界
#define DOWN_EDGE _wid  //下边界
#define LEFT_EDGE 1  //左边界
#define RIGHT_EDGE _lng //右边界
 
void gotoxy(int, int);  //移动光标的接口函数
 
struct Position{ 
 int x;
 int y;
};
 
struct Info{
 int n;   //用于标记雷、数字、空格的属性
 bool flag;  //用于标记是否要打开方块
};
 
class Map{
private:
 int _lng, _wid;     //长和宽
 int _mines, _blanks;    //雷数、未开启空格数目
 Position _pos = {1, 1};   //光标位置
 Info data[MAX_WIDTH][MAX_LENGTH]; //包含地图信息的矩阵
public:
 void AcceptCond();   //选择模式
 void InitMap();    //初始化地图
 void SetMine();    //布置地雷
 void SetNumber();   //计算数字
 void SetPosition();   //移动光标至指示区域
 void ResetPosition();  //重置初始坐标
 void ShowMap();    //显示地图
 void ShowAll();    //显示全部地图,游戏失败时候调用
 void OpenBlock();   //打开方块,即将 flag 值设置为 true,在 ShowMap() 中将打开方块
 void FirstStep();   //预先处理游戏,防止第一步就触雷导致失败,这是无意义的
 bool PlayGame();    //提供的游戏操作接口
 bool Move(char);    //移动光标,同时改变 _pos 的值用于指代目前要访问(打开)的方块
 bool IfLose();    //游戏失败,则返回真
 bool IfWin();    //游戏成功,则返回真
};
 
#endif

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前题目:C++实现扫雷小游戏(控制台版)-创新互联
转载来源:http://myzitong.com/article/cecpec.html