Skip to main content

random_walkable_nearby

Function random_walkable_nearby 

Source
pub fn random_walkable_nearby<R: Rng>(
    pos: (usize, usize),
    radius: usize,
    walkmap: &[bool],
    width: usize,
    height: usize,
    periodic: bool,
    rng: &mut R,
) -> Option<(usize, usize)>
Expand description

Returns a random walkable grid cell within Chebyshev radius r of pos.

Returns None if no walkable cells exist in the neighborhood.

ยงExample

use rustsim_pathfinding::walkability::random_walkable_nearby;
use rand::rngs::StdRng;
use rand::SeedableRng;

let walkmap = vec![true; 25];
let mut rng = StdRng::seed_from_u64(42);
let pos = random_walkable_nearby((2, 2), 1, &walkmap, 5, 5, false, &mut rng);
assert!(pos.is_some());