C语言迷宫小游戏完整代码
时间: 2024-07-14 10:00:38 浏览: 161
C语言编写的迷宫小游戏_源代码
4星 · 用户满意度95%
创建一个C语言的迷宫小游戏是一个有趣的项目,它涉及到控制台输入输出、数组或矩阵操作以及游戏循环。以下是一个简化的迷宫游戏的示例代码,主要包含了基本的迷宫生成和玩家移动功能:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAZE_WIDTH 20
#define MAZE_HEIGHT 10
#define WALL '#'
#define PATH ' '
// 创建随机迷宫的函数
void create_maze(int maze[MAZE_WIDTH][MAZE_HEIGHT]) {
int i, j;
for (i = 0; i < MAZE_HEIGHT; ++i) {
for (j = 0; j < MAZE_WIDTH; ++j) {
if ((i == 0 && j == 0) || (i == MAZE_HEIGHT - 1 && j == MAZE_WIDTH - 1)) {
maze[i][j] = PATH;
} else {
maze[i][j] = WALL;
int chance = rand() % 3;
if (chance < 2) {
maze[i][j] = PATH;
}
}
}
}
}
// 游戏主函数
int main() {
int maze[MAZE_WIDTH][MAZE_HEIGHT];
srand(time(NULL)); // 初始化随机数种子
create_maze(maze);
// 打印迷宫
for (int i = 0; i < MAZE_HEIGHT; ++i) {
for (int j = 0; j < MAZE_WIDTH; ++j) {
printf("%c ", maze[i][j]);
}
printf("\n");
}
int player_x = 0, player_y = 0; // 假设玩家开始在左上角
while (1) {
// 输入玩家移动方向(上、下、左、右)
printf("Enter direction (up, down, left, right): ");
char move;
scanf(" %c", &move);
// 根据玩家位置和移动方向更新位置
switch (move) {
case 'u':
if (maze[player_y - 1][player_x] == PATH) {
player_y--;
} else {
printf("Cannot move up.\n");
}
break;
// 添加其他方向的检查
}
// 判断是否到达终点或撞墙
if (player_y == MAZE_HEIGHT - 1 && player_x == MAZE_WIDTH - 1) {
printf("Congratulations! You have reached the exit!\n");
break;
}
}
return 0;
}
```
阅读全文