C++实现扫雷小游戏(控制台版)-创新互联
本文为大家分享了C++实现扫雷小游戏的具体代码,供大家参考,具体内容如下

程序功能:
提供三种模式:初级、中级、高级
操作模式: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++实现扫雷小游戏(控制台版)-创新互联
URL地址:http://jxjierui.cn/article/cecpec.html


咨询
建站咨询
