用c++二维数组生成地图
时间: 2023-08-12 20:04:32 浏览: 185
好的,生成地图可以使用二维数组来实现,以下是一个简单的示例代码:
```c++
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
const int ROW = 10; // 地图的行数
const int COL = 10; // 地图的列数
int map[ROW][COL]; // 存储地图的二维数组
int main()
{
// 随机生成地图
srand(time(NULL)); // 设置随机数种子
for (int i = 0; i < ROW; i++)
{
for (int j = 0; j < COL; j++)
{
// 生成随机数,如果大于等于5就认为该位置是障碍物,否则为空地
if (rand() % 10 >= 5)
{
map[i][j] = 1; // 障碍物
}
else
{
map[i][j] = 0; // 空地
}
}
}
// 输出地图
for (int i = 0; i < ROW; i++)
{
for (int j = 0; j < COL; j++)
{
if (map[i][j] == 0)
{
cout << "O "; // 空地
}
else
{
cout << "X "; // 障碍物
}
}
cout << endl;
}
return 0;
}
```
这个示例代码使用 `srand` 函数设置随机数种子,然后使用 `rand` 函数生成随机数来随机生成地图。如果随机数大于等于5,则认为该位置是障碍物,否则为空地。最后使用嵌套循环输出地图。
阅读全文