mazegenerator
1.0.0
生成不同形狀、任意大小的迷宮
迷宮生成器可以創建矩形、六邊形、蜂巢狀和圓形迷宮。迷宮產生可以使用 Kruskal 演算法、深度優先搜尋、廣度優先搜尋、循環擦除隨機遊走或 Prim 演算法來完成。迷宮可以以 svg 或 png 格式呈現(在後一種情況下使用 gnuplot 作為中間)。
迷宮產生器使用 gnuplot (有系統呼叫gnuplot
)來渲染 png 迷宮。因此,如果您想使用 png,請確保gnuplot 5.0+
安裝有pngcairo
終端支援並且位於路徑中。
程式碼是用 C++ 11 編寫的,您將需要一個不太古老的 C++ 編譯器來建構它。
cd src; make
Usage: mazegen [--help] [-m <maze type>] [-a <algorithm type>] [-s <size> | -w <width> -h <height>] [-t <output type] [-o <output prefix>] Optional arguments --help Show this message and exit -m Maze type 0: Rectangular (default) 1: Hexagonal (triangular lattice) 2: Honeycomb 3: Circular 4: Circular (triangular lattice) 5: User-defined -a Algorithm type 0: Kruskal's algorithm (default) 1: Depth-first search 2: Breadth-first search 3: Loop-erased random walk 4: Prim's algorithm -s Size (non-rectangular mazes, default: 20) -w,-h Width and height (rectangular maze, default: 20) -t Output type 0: svg output (default) 1: png output using gnuplot (.plt) intermediate -o Prefix for .svg, .plt and .png outputs (default: maze)
圓形迷宮中的弧在 gnuplot 中繪製為參數曲線,而 png 可能需要很長時間才能渲染大型迷宮。