mazegenerator
1.0.0
さまざまな形状と任意のサイズの迷路を生成
迷路ジェネレーターは、長方形、六角形、ハニカム、円形の迷路を作成できます。迷路の生成は、クラスカルのアルゴリズム、深さ優先探索、幅優先探索、ループ消去ランダム ウォーク、またはプリムのアルゴリズムを使用して実行できます。迷路は 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 ではレンダリングにかなりの時間がかかることがあります。