# 文字迷宮冒險 ## module ```c= #include <stdio.h> #include <stdlib.h> #include <conio.h> #define MAZE_WIDTH 15 #define MAZE_HEIGHT 7 #define PLAYER 'P' #define WALL '#' #define EXIT 'E' // 函式:顯示迷宮 void printMaze(char maze[MAZE_HEIGHT][MAZE_WIDTH]) { for (//自己寫//) { for (//自己寫//) { printf("%c ", maze[i][j]); } printf("\n"); } } int main() { char maze[MAZE_HEIGHT][MAZE_WIDTH] = { {'#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#'}, {'#', 'P', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '#'}, {'#', '#', '#', '#', '#', ' ', '#', '#', '#', '#', '#', '#', '#', ' ', '#'}, {'#', ' ', ' ', ' ', ' ', ' ', '#', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '#'}, {'#', '#', ' ', '#', '#', '#', '#', ' ', '#', '#', '#', ' ', '#', '#', '#'}, {'#', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'E'}, {'#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#', '#'}}; int playerX = 1; // 初始玩家 X 座標 int playerY = 1; // 初始玩家 Y 座標 while (1) { system("cls"); // 清空螢幕上的內容 maze[playerY][playerX] = PLAYER; // 更新玩家位置 printMaze(maze); // 顯示迷宮 char input = getch(); // 從使用者取得輸入 maze[playerY][playerX] = ' '; // 清除先前的玩家位置 switch (input) { case 'w': // 如果輸入為 'w' // 自己寫// break; case 's': // 如果輸入為 's' // 自己寫// break; case 'a': // 如果輸入為 'a' // 自己寫// break; case 'd': // 如果輸入為 'd' // 自己寫// break; default: break; } if (//自己寫//) // 若玩家到達出口 { printf("Congratulations! You found the exit!\n"); system("pause"); // 暫停程式,等待使用者按下任意鍵後結束 break; } } return 0; } ``` ## easy ![](https://hackmd.io/_uploads/rknmZWcq3.png) ## medium ![](https://hackmd.io/_uploads/H1SSWWqq2.png) ## hard ![](https://hackmd.io/_uploads/HycI-b99h.png)