[−][src]Crate world_map_gen
Several kinds of random World maps generator for games
This library provides a world maps generator with following interfaces:
- Rust library as an API
- CLI tool to generate maps in terminal as visual output or as JSON output
- WebAssembly npm package for Web
Please read README.md of repository hosted on GitHub.
https://github.com/rhysd/world-map-gen
This document explains 1., as an API library for Rust.
This library provides some modules to handle a world map as one board filled up with cells.
land
:land::Land
struct represents each cell in a boardboard
:board::Board
struct represents one world map. The struct is JSON serializable withserde_json
draw
: Helper to draw a board to terminal or as JSONgen
: A random world map generator to buildboard::Board
struct. It provides algorithms for 3 kinds of resolutionserror
: Error type which may be returned from a map generator
use world_map_gen::RandomBoardGen; // Create generator instance with default random number generator let mut generator = RandomBoardGen::default(); // Generate 40x40 random world map. Map resolution (low, middle, high) is automatically // determined by its width and height here. // - Low: width and height are less than 15 // - Middle: width and height are less than 120 // - High: Otherwise let board = generator.gen_auto(40, 40); // Iterate each cells per row for (i, row) in board.rows().enumerate() { println!("Row: {}", i); for cell in row { // cell is a world_map_gen::land::Land instance // Lands are categorized with kind (e.g. Sea, Plain, Forest, Mountain, ...) println!("Kind: {:?}", cell.kind); // Each cell as its altitude. For example, sea's altitude is lower and mountain's is // higher println!("Altitude: {}", cell.altitude); } }
Re-exports
pub use crate::board::Board; |
pub use crate::error::Result; |
pub use crate::gen::RandomBoardGen; |
pub use crate::land::LandKind; |
Modules
board | This module provides a board struct representing world map. |
draw | Helper to draw a generated map to terminal screen or as JSON. |
error | Provides error type to represent all kinds of errors which may occur while world map generations. |
gen | This module provides random world map generator |
land | This module provides representation of cells in a board. And also provides constants for default cells. |