---
# System prepended metadata

title: 2023成大電機營 基礎程式實作教學

---

# 文字迷宮冒險
## 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)




