Hasilkan labirin dengan berbagai bentuk dan ukuran sewenang-wenang
Generator labirin dapat membuat labirin persegi panjang, heksagonal, sarang lebah, dan lingkaran. Pembuatan labirin dapat dilakukan dengan menggunakan algoritma Kruskal, pencarian kedalaman pertama, pencarian luas pertama, jalan acak terhapus loop atau algoritma Prim. Labirin dapat dirender dalam format svg atau png (menggunakan gnuplot sebagai perantara dalam kasus terakhir).
Generator labirin menggunakan gnuplot (dengan panggilan sistem gnuplot
) untuk merender labirin png. Jadi pastikan gnuplot 5.0+
diinstal dengan dukungan terminal pngcairo
dan berada di jalurnya jika Anda ingin menggunakan png.
Kode ini ditulis dalam C++ 11, Anda memerlukan kompiler C++ yang tidak terlalu kuno untuk membangunnya.
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)
Busur di labirin melingkar diplot sebagai kurva parametrik di gnuplot, dan png memerlukan waktu cukup lama untuk dirender menjadi labirin besar.