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://azwzsj.com/article/cecpec.html