c语言随机生成迷宫地图
时间: 2023-02-11 13:16:47 浏览: 160
C语言可以使用随机数生成器来生成迷宫地图。常用的随机数生成器包括`rand()`和`random()`。下面是一个简单的生成迷宫地图的代码示例:
```
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define ROWS 10
#define COLS 10
int main(void) {
// seed the random number generator
srand(time(NULL));
int map[ROWS][COLS];
// initialize all cells to 1 (wall)
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
map[i][j] = 1;
}
}
// choose a random starting point
int x = rand() % ROWS;
int y = rand() % COLS;
// carve out a path starting from the starting point
while (x > 0 && x < ROWS-1 && y > 0 && y < COLS-1) {
map[x][y] = 0; // make the current cell a passage
int direction = rand() % 4;
switch (direction) {
case 0:
x++; // move down
break;
case 1:
x--; // move up
break;
case 2:
y++; // move right
break;
case 3:
y--; // move left
break;
}
}
// print the map
for (int i = 0; i < ROWS; i++) {
for (int j = 0; j < COLS; j++) {
printf("%d ", map[i][j]);
}
printf("\n");
}
return 0;
}
```
在上面的代码中,`map`数组用于存储迷宫地图,每个元素都初始化为1(表示墙)。在生成迷宫地图的时候,随机选择一个起点,然后从该起点开始挖洞。每次挖洞时,都随机选择上下左右四个方向中的一个来挖洞。
这只是一种简单的生成迷宫地图的方法。 在实际应用中,可
阅读全文