|
30鱼币
直接入主题,能把扫雷地图画出来,但如何排雷却不知道咋整的了,求助
#include <iostream>
#include <graphics.h>
#include <time.h>
using namespace std;
const int N = 10;
int map[N + 2][N + 2] = { 0 };
void mailei(); //埋地雷
int Ret_Lei();//计算地雷的个数
int main()
{
int i, j;
mailei();
Ret_Lei();
for (int i = 1; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{
cout << map[i][j] << "\t";
}
cout << endl;
}
return 0;
}
void mailei() //埋雷
{
srand((unsigned)time(NULL));
int x, y; //x,y坐标埋雷 9格宫
int i, j, k, l;// i j 是地图的行和列 k是地雷的个数
for (int k = 0; k < 10;)
{
x = rand() % 9 + 1;//产生1-9随机数字
y = rand() % 9 + 1;
if (map[x][y] != -1) //-1表示地雷 如果此坐标不是地雷,那么就埋个雷
{
map[x][y] = -1;
k++;
}
}
}
int Ret_Lei() //计算雷的个数
{
for (int i = 1; i <= 10; i++)
{
for (int j = 1; j <= 10; j++)
{
if (map[i][j] != -1)
{
for (int x = i - 1; x < i + 1; x++)
{
for (int y = j - 1; y < j + 1; y++)
{
if (map[x][y] == -1)
{
map[i][j]++;
}
}
}
}
}
}
return 0;
}
|
-
最佳答案
查看完整内容
不知道为啥,源码不能放上来,我给你弄了个压缩文件,把sweep,h sweep.cpp main.cpp 打包到一起了,你建空项目,加进去编译运行,应该没问题,还有,你的源码想实现那个效果,会有点难,所以我自己谢了一份
|