数据结构迷宫游戏代码
时间: 2024-01-09 09:22:29 浏览: 147
根据提供的引用内容,以下是一个简单的数据结构迷宫游戏的C代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <conio.h>
#define h 11
#define w 10
typedef struct {
int r, c;
} PosType; // 坐标 r表示行,c表示列
typedef struct {
int data[h][w]; // 迷宫数据
PosType start; // 起点坐标
PosType end; // 终点坐标
} MazeType;
void initMaze(MazeType *maze) {
// 初始化迷宫数据
for (int i = 0; i < h; i++) {
for (int j = 0; j < w; j++) {
maze->data[i][j] = 0;
}
}
// 设置起点和终点
maze->start.r = 1;
maze->start.c = 1;
maze->end.r = h - 2;
maze->end.c = w - 2;
// 随机生成迷宫路径
srand(time(NULL));
for (int i = 1; i < h - 1; i++) {
for (int j = 1; j < w - 1; j++) {
if (rand() % 2 == 0) {
maze->data[i][j] = 1;
}
}
}
}
void printMaze(MazeType maze) {
// 打印迷宫
for (int i = 0; i < h; i++) {
for (int j = 0; j < w; j++) {
if (i == maze.start.r && j == maze.start.c) {
printf("S ");
} else if (i == maze.end.r && j == maze.end.c) {
printf("E ");
} else if (maze.data[i][j] == 1) {
printf("# ");
} else {
printf(" ");
}
}
printf("\n");
}
}
int main() {
MazeType maze;
initMaze(&maze);
printMaze(maze);
return 0;
}
```
阅读全文