Mazeir --- **For Giant Maze** ## Library ```rust 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(); } ``` ### Maze Map Type - `Orthogonal` one byte one cell ### Algorithm Traits - `DepthFirst` ### Output Traits - `Print` - `Draw` stream write to 1bit png file ## Command Line Interface ### Base ```bash >>> mazeir-cli --help Usage: mazeir-cli 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 ``` Orthogonal Maze ```bash >>> 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 of generate the maze. support DepthFirst only [default: DepthFirst] -s, --seed Seed for the maze -d, --draw Draw the maze to a png file -p, --print Print the maze to stdout -h, --help Print help ``` ## Features ### Map - [x] 2D orthogonal maze - [ ] 2D hexagonal maze - [ ] 3D orthogonal maze ### Algorithm - [x] Depth First - [ ] Some kind of borderless algorithm - [ ] Etc.. ### Output - [x] Print to stdout - [x] Draw to png file - [ ] Output to txt file - [ ] Custom color index 1bit PNG file