用C语言实现简单的迷宫小游戏,内附完整代码。
```cint maze[ROW][COL] = {{1,1,1,1,1,1,1,1,1,1},{1,0,0,1,0,0,0,1,0,1},{1,0,0,1,0,0,0,1,0,1},{1,0,0,0,0,1,1,0,0,1},{1,0,1,1,1,0,0,0,0,1},{1,0,0,0,1,0,0,0,0,1},{1,0,1,0,0,0,1,0,0,1},{1,0,1,1,1,0,1,1,0,1},{1,1,0,0,0,0,0,0,0,1},{1,1,1,1,1,1,1,1,1,1}};void printMaze(int x, int y) {int i, j;for (i = 0; i < ROW; i++) {for (j = 0; j < COL; j++) {if (i == x && j == y) {printf("●"); // 当前位置} else if (maze[i][j] == 1) {printf("■"); // 墙} else {printf(" "); // 空地}}printf("\n");}}int main() {int x = 1, y = 1; // 初始位置int endX = 8, endY = 8; // 终点位置char input;srand((unsigned)time(NULL)); // 设置随机数种子do {system("cls"); // 清屏printMaze(x, y);if (x == endX && y == endY) {printf("恭喜你,成功通过迷宫!\n");break;}input = getch(); // 读取键盘输入switch (input) {case 'w': // 上if (maze[x-1][y] == 0) {x--;}break;case 's': // 下if (maze[x+1][y] == 0) {x++;}break;case 'a': // 左if (maze[x][y-1] == 0) {y--;}break;case 'd': // 右if (maze[x][y+1] == 0) {y++;}break;case 'q': // 退出printf("游戏结束!\n");exit(0);case 'r': // 重置x = 1;y = 1;break;case 'h': // 帮助printf("使用w、s、a、d键控制移动,q键退出,r键重置,h键显示帮助。\n");break;}} while (1);return 0;}```
评论
