1 unstable release
0.1.1 | Jun 15, 2019 |
---|---|
0.1.0 |
|
#1394 in Game dev
70 downloads per month
Used in 2 crates
19KB
409 lines
doryen-fov
A pure rust library containing 2D field of view algorithms for roguelikes.
compilation instructions
- install rust : https://www.rust-lang.org/learn/get-started
native compilation
cargo run --example fov
web assembly compilation
rustup target install wasm32-unknown-unknown
cargo install cargo-web
cargo web start --example fov
usage
Cargo.toml :
[dependency]
doryen-fov="*"
main.rs :
use doryen_fov::{FovAlgorithm, FovRecursiveShadowCasting, MapData};
fn main() {
let mut fov = FovRecursiveShadowCasting::new();
let map_width = 10;
let map_height = 10;
let mut map = MapData::new(map_width, map_height); // build an empty map
map.set_transparent(5, 5, false); // put some wall
let radius = 0;
let player_x = 5;
let player_y = 6;
map.clear_fov(); // compute_fov does not clear the existing fov
fov.compute_fov(&mut map, player_x, player_y, radius, false);
assert!(map.is_in_fov(5, 7));
}
contributions
You can contribute to this library through pull requests. If you do so, please update the CHANGELOG.md and CREDITS.md files. If you provide a new feature, consider adding an example as a tutorial/showcase.