C语言生成随机地图
时间: 2023-08-14 09:18:09 浏览: 207
【计算机毕业设计】C语言项目源码 c语言支持自己创建迷宫,并求解最短路径
C语言可以通过随机数生成算法和字符输出函数来生成随机地图。下面是一个简单的示例代码,可以生成指定大小的随机地图:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAP_WIDTH 20
#define MAP_HEIGHT 10
int main()
{
char map[MAP_HEIGHT][MAP_WIDTH+1]; // 二维字符数组,用于存储地图
int i, j;
srand((unsigned int)time(NULL)); // 设置随机数种子
// 随机生成地图
for (i = 0; i < MAP_HEIGHT; i++) {
for (j = 0; j < MAP_WIDTH; j++) {
if (rand() % 2 == 0) {
map[i][j] = '#'; // 50%的概率生成障碍物
} else {
map[i][j] = '.'; // 50%的概率生成空地
}
}
map[i][j] = '\0'; // 字符串结尾符
}
// 输出地图
for (i = 0; i < MAP_HEIGHT; i++) {
printf("%s\n", map[i]);
}
return 0;
}
```
在上面的代码中,我们使用二维字符数组来存储地图。首先使用srand函数设置随机数种子,然后使用两个for循环随机生成地图。在每个格子中,我们使用rand函数生成一个随机数,并根据随机数的值来决定是否生成障碍物。最后使用printf函数输出地图。
需要注意的是,由于rand函数生成的随机数序列具有一定的规律性,因此在安全性要求较高的场合,可以使用更加安全的随机数生成器。此外,生成的地图可能会比较单调,可以根据实际需要添加更多的随机因素,例如随机生成地形、物品、怪物等。
阅读全文