Function drain_random

pub fn drain_random<T>(vec: &mut Vec<T>, random: &GameRng) -> Option<T>
Expand description

Remove and return a uniformly-random element of vec, None when empty. Same index formula as get_random_element, then Vec::remove — so the remaining order is preserved and repeated draws sample without replacement.