summaryrefslogtreecommitdiff
path: root/src/npc.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/npc.rs')
-rw-r--r--src/npc.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/npc.rs b/src/npc.rs
index 9316e69..c31f305 100644
--- a/src/npc.rs
+++ b/src/npc.rs
@@ -1,5 +1,7 @@
use ggez::graphics::spritebatch::SpriteBatch;
use ggez::nalgebra::Point2;
+use rand::Rng;
+use std::f32::consts::PI;
use crate::animations::Animations;
use crate::entity::{Entity, Operable};
@@ -83,3 +85,9 @@ enum Behavior {
//Waiting(Instant),
Wandering(Option<Point2<f32>>),
}
+
+pub fn random_nearby_point(origin: Point2<f32>, within_radius: f32) -> Point2<f32> {
+ let w = within_radius * rand::thread_rng().gen_range(0.0, 1.0);
+ let t = 2.0 * PI * rand::thread_rng().gen_range(0.0, 1.0);
+ Point2::new(origin.x + w * t.cos(), origin.y + w * t.sin())
+}