發信人: Wyvern (你猜), 信區: Program
標  題: 亂數迷宮地圖產生器
發信站: 杏花村 (Wed Feb 28 10:21:56 1996)

hi all


        接下來我將 post 一個檔案 maze.c, 用來亂數產生迷宮的地圖。
        請連著前面的 random.c 與 random.h 一起邊譯。

        gcc -c random.c maze.c
        gcc -o maze maze.o random.o

        用下面的指令就能執行

        maze <maze plane file>

        maze plane file 為一個限制迷宮大小與範圍的資料檔
        如下 maze.dat

        10 10
        0 0 1 1 1 1 1 1 0 0
        0 0 1 1 1 1 1 1 0 0
        1 1 1 1 1 1 1 1 1 1
        1 1 1 1 1 1 1 1 1 1
        1 1 1 0 0 0 0 1 1 1
        1 1 1 0 0 0 0 1 1 1
        1 1 1 1 1 1 1 1 1 1
        1 1 1 1 1 1 1 1 1 1
        0 0 1 1 1 1 1 1 0 0
        0 0 1 1 1 1 1 1 0 0 

        10 10 表示是 10x10 大小的迷宮
        後面的 0 與 1 各代表該座標空間不存在與存在

        maze maze.dat 的結果可能如下

                ┌─────┬─────┐
                │          │          │
                ├──  │  ├─┬──  │
                │      │  │  │      │
        ┌───┘  ──┴─┘  └──  └─┬─┐
        │                                  │  │
        │  ┌──────  │  ──────┤  │
        │  │              │              │  │
        │  │  ──┬───┴───┐  │  │  │
        │  │      │              │  │      │
        │  └─┬─┤              │  ├──  │
        │      │  │              │  │      │
        ├──  │  ├───┬───┼─┘  │  │
        │          │      │      │      │  │
        ├──  │  │  │  │  │  │  ──┴─┤
        │      │      │  │  │  │          │
        └───┤  │  │  │  └─┼─┬───┘
                │  │  │          │  │
                ├─┴─┘  │  │  │  │
                │          │  │      │
                └─────┴─┴───┘  

        以下程式歡迎來函建議或指正錯誤, 務請尊重著作權與智慧財產權...

--
*-----------------------------------------------------------------------------*
|  ``時空怪客'' 他... 來自宇宙遙遠的地方... 他... 他正要侵入地球...           |
|  ``時空怪客'' 他的名字叫 Wyvern, 擁有人的外表, 天使的言行, 魔鬼的心...      |
|                   他的目的是....  誰是下一個不幸的人?                       |
|                      ``時空怪客 5月23 全球同步放映''                        |
*-----------------------------------------------------------------------------*