From 6589e5e3df63d5abf85313c4d21097432257f453 Mon Sep 17 00:00:00 2001 From: tom barrett Date: Fri, 5 Jul 2019 02:50:38 -0500 Subject: removed math, operable to map and layers, on the way to merging tile and frame --- src/npc.rs | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/npc.rs') 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>), } + +pub fn random_nearby_point(origin: Point2, within_radius: f32) -> Point2 { + 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()) +} -- cgit v1.2.3