Expand description
Generators for dungeon type maps.
Generators can bu used directly or they can be combined with
MapGenerators and MapModifiers
- MapGenerators are use to create initial map.
- MapModifiers modify existing map.
Example
use here_be_dragons::{MapFilter, MapBuilder, Map, NoData, Tile};
use here_be_dragons::filter::{
NoiseGenerator,
CellularAutomata,
starting_point::{AreaStartingPosition, XStart, YStart}
};
use here_be_dragons::geometry::Point;
let map = MapBuilder::<NoData>::new(80, 50)
.with(NoiseGenerator::uniform())
.with(CellularAutomata::new())
.with(AreaStartingPosition::new(XStart::CENTER, YStart::CENTER))
.build();
assert_eq!(map.width, 80);
assert_eq!(map.height, 50);
assert_eq!(map.starting_point.is_some(), true);Re-exports§
Modules§
- filter
- Generators for dungeon type maps.
- geometry
- Support function for 2D geometry
- map
- Map structure contains information about tiles and other elements on the map.
- metric
- Different metrics for the map Can be used to meausre the quality of the map or the quality of the generator. To meause the quality of the generator; generate lots of maps, measure them and the provide generator score as an average.
Structs§
- MapBuilder
- Used to chain MapBuilder and MapModifiers to create the final map.
Traits§
- MapFilter
- Trait which should be implemented by map modifier. Modifier takes initiall map and apply changes to it.