没有合适的资源?快使用搜索试试~ 我知道了~
首页C++基于EasyX实现简单扫雷游戏
资源详情
资源评论
资源推荐

C++基于基于EasyX实现简单扫雷游戏实现简单扫雷游戏
主要为大家详细介绍了C++基于EasyX实现简单扫雷游戏,文中示例代码介绍的非常详细,具有一定的参考价
值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了C++ EasyX实现简单扫雷游戏的具体代码,供大家参考,具体内容如下
【实现代码】
#include <cmath>
#include <time.h>
#include <easyx.h>
#include <conio.h>
using namespace std;
#define Size 500 //定义窗口大小
#define SquareSize 50 //定义格子大小
#define BackGroundColor LIGHTGRAY //定义背景颜色
const int N = Size / SquareSize; //设置地图大小为N * N
const int Num = N * N / 5; //设置总地雷数
int num = Num, all = N * N - Num; //剩余地雷数和未格子访问数
int Map[N + 10][N + 10]; //地图表示(i, j)旁边的地雷数目,等于-1表示该位置为地雷
bool vis[N + 10][N + 10]; //标记是否(i, j)被访问
bool vis_lm[N + 10][N + 10]; //标记(i, j)是否被标记为地雷
int dx[] = { 0, 0, 1, -1, 1, -1, 1, -1 };
int dy[] = { 1, -1, 0, 0, 1, -1, -1, 1 };
void Init() {
initgraph(Size, Size);
setbkcolor(BackGroundColor);
settextcolor(YELLOW);
settextstyle(25, 0, _T("宋体"));
cleardevice();
}
void BuildGameMap() { //构建地图
srand((unsigned int)time(NULL)); //产生随机数
for (int i = 1; i <= Num; ++i) {
int x = rand() % N + 1, y = rand() % N + 1;
while (Map[x][y] == -1) {
x = rand() % N + 1, y = rand() % N + 1;
}
Map[x][y] = -1;
}
//计算每个格子旁边的地雷数目
for (int i = 1; i <= N; ++i) {
for (int j = 1; j <= N; ++j) {

















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0