Function dicetest::dice::one_of_vec_once
source · [−]Expand description
Generates a element randomly chosen from the given Vec
. All elements have the same
probability.
Examples
use dicetest::prelude::*;
use dicetest::{Prng, Limit};
let mut prng = Prng::from_seed(0x5EED.into());
let limit = Limit::default();
let mut fate = Fate::new(&mut prng, limit);
#[derive(Debug, PartialEq, Eq)]
struct CannotBeCloned(u8);
let zero_and_one = vec![CannotBeCloned(0), CannotBeCloned(1)];
let zero_or_one = fate.roll(dice::one_of_vec_once(zero_and_one));
assert!(zero_or_one == CannotBeCloned(0) || zero_or_one == CannotBeCloned(1));