1 2 3 4 5 6 7 8 9 10 11 12 13
use crate::{Circle, Point};
use rand::{thread_rng, Rng};
impl<T> Circle<T>
where
T: Clone,
{
pub fn random_point(&self, mut rng: impl Rng) -> Point<T> {
let x = rng.gen_range(self.x - self.radius.clone(), self.x + self.radius.clone());
let y = rng.gen_range(self.y - self.radius.clone(), self.y + self.radius.clone());
Point::new(x, y)
}
}