[−][src]Crate maze_generator
This is a collection of different maze generation algorithms.
The project's main goal is to provide an easy-to-use API to different algorithms with different characteristics.
Examples
// Generate a 3 by 3 maze using a provided seed and the recursive-backtracking algorithm use maze_generator::prelude::*; use maze_generator::recursive_backtracking::RbGenerator; let mut generator = RbGenerator::new(Some([42; 32])); let maze = generator.generate(3, 3); assert_eq!(format!("{:?}", maze), "·-·-·-· |S| | · ·-· · | | ·-·-· · |G | ·-·-·-· ");
// Retrieve information about a specific cell from the maze use maze_generator::prelude::*; use maze_generator::recursive_backtracking::RbGenerator; let mut generator = RbGenerator::new(Some([42; 32])); let maze = generator.generate(3, 3); assert_eq!(format!("{:?}", maze.get_field(&maze.start).unwrap()), "Field { north: \"wall\", east: \"wall\", south: \"passage\", west: \"wall\" }");
Modules
prelude | Common traits and members |
recursive_backtracking | Recursive-Backtracking algorithm implementation |