1 个不稳定版本
0.2.0 | 2023 年 8 月 25 日 |
---|
#12 in #maze
550KB
352 行
Mazeir
用于大型迷宫
库
use mazeir::map::Orthogonal;
use mazeir::algorithm::DepthFirst;
use mazeir::output::Print;
fn main() {
let mut maze = Orthogonal::new(7, 16);
maze.depth_first();
maze.print();
}
迷宫地图类型
正交
每个单元格一个字节
算法特性
深度优先
输出特性
打印
绘制
将数据写入 1bit png 文件
命令行界面
基础
>>> mazeir-cli --help
Usage: mazeir-cli <COMMAND>
Commands:
orthogonal 2D orthogonal maze
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
-V, --version Print version
正交迷宫
>>> mazeir-cli orthogonal --help
2D orthogonal maze
Usage: mazeir-cli orthogonal [OPTIONS] [WIDTH] [HEIGHT]
Arguments:
[WIDTH] Width of the maze [default: 16]
[HEIGHT] Height of the maze [default: 16]
Options:
-a, --algorithm <ALGORITHM> Algorithm of generate the maze. support DepthFirst only [default: DepthFirst]
-s, --seed <SEED> Seed for the maze
-d, --draw <OUTPUT_FILE_PATH> Draw the maze to a png file
-p, --print Print the maze to stdout
-h, --help Print help
特性
地图
- 2D 正交迷宫
- 2D 六边形迷宫
- 3D 正交迷宫
算法
- 深度优先
- 某种无边框算法
- 等等。
输出
- 打印到标准输出
- 绘制到 png 文件
- 输出到 txt 文件
- 自定义颜色索引 1bit PNG 文件
依赖项
~4–16MB
~178K SLoC