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

之前写了一个C++ 的控制台扫雷小游戏,但由于过度使用system("cls")刷屏,导致闪屏,因此重写了一个改善的不闪屏版本,并把逻辑重新捋了一遍。

成都创新互联主营本溪网站建设的网络公司,主营网站建设方案,重庆APP开发,本溪h5小程序开发搭建,本溪网站营销推广欢迎本溪等地区企业咨询

map.h

#ifndef MAP_H_
#define MAP_H_
 
#define MAX_WID 18
#define MAX_LEN 32
#define UP_EDGE 1  //上边界
#define LEFT_EDGE 1  //左边界
#define RIGHT_EDGE _len //右边界
#define DOWN_EDGE _wid //下边界
 
struct Position {  //用于表示位置
 short x;
 short y;
};
 
struct MapInfo {  //表示扫雷图的信息
 int n;    //-1表示地雷,0表示空格,1~8表示雷数
 bool flag;   //是否已经被打开
};
 
void gotoxy(short, short);  //光标移动函数
 
class Map {
private:
 int _len, _wid;    //图的长宽
 int _mines, _blanks;   //雷数和空格数
 Position pos;     //光标位置
 MapInfo data[MAX_WID][MAX_LEN]; //地图
 
public:
 void ChooseMode();    //选择游戏模式,初级,中级,高级
 void Draw();     //画出地图
 void InitMap();     //初始化地图信息
 void SetMine();     //设置地雷
 void SetNum();     //根据周围地雷数计算数字
 void Move();     //负责移动
 void OpenBlock();    //打开方块
 void OpenAll();     //如果触雷则全部打开
 void Play();     //提供游戏操作接口
 bool IfWin();     //判断输赢
 bool IfLose(); 
 // void show();
};
 
#endif

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


文章标题:C++实现扫雷游戏(控制台不闪屏版)-创新互联
文章起源:http://ybzwz.com/article/hdgdi.html