X-Git-Url: http://www.dolda2000.com/gitweb/?a=blobdiff_plain;f=src%2Fcore%2Fgame.rs;fp=src%2Fcore%2Fgame.rs;h=2fa7ddd5111be4d50ea9b80d5bacc8c2fd06352e;hb=4074267844733949556af129550dfc42fc81da76;hp=39af2e1bab82c12e4b2b7e6bf5b0253391b4c4f1;hpb=0d75b79ec38b321835c2f3984252f27ff271f8b4;p=kaka%2Frust-sdl-test.git diff --git a/src/core/game.rs b/src/core/game.rs index 39af2e1..2fa7ddd 100644 --- a/src/core/game.rs +++ b/src/core/game.rs @@ -1,6 +1,6 @@ use teststate::TestState; use AppState; -use common::{Point, Radians}; +use common::{Point, ToAngle}; use core::app::StateChange; use core::controller::Controller; use core::controller::ControllerManager; @@ -276,7 +276,7 @@ impl Object for Boll { return Dead } self.bounces -= 1; - let mut a = wall.normal().mirror(self.vel.to_radians()); // TODO interpolera normalen mellan närliggande väggdelar? bollarna studsar väldigt "kantigt" nu + let mut a = wall.normal().mirror(self.vel.to_angle()); // TODO interpolera normalen mellan närliggande väggdelar? bollarna studsar väldigt "kantigt" nu self.pos = pos; self.vel = Point::from(a) * self.vel.length() * 0.35; self.pos += self.vel; // TODO det här kan få bollen att åka igenom en närliggande vägg utan att kollisionstestas, men behövs just nu för att inte kollidera med samma vägg bakifrån @@ -284,7 +284,7 @@ impl Object for Boll { // create another boll use rand::distributions::{Distribution, Normal}; let mut rng = rand::thread_rng(); - a.0 += Normal::new(0.0, 0.1).sample(&mut rng); // TODO slumpen kan ge en vinkel som är under tangenten. vinkel-metoder på väggen istället kanske? + a += Normal::new(0.0, 0.1).sample(&mut rng).radians(); // TODO slumpen kan ge en vinkel som är under tangenten. vinkel-metoder på väggen istället kanske? use rand::Rng; objects.push(Box::new(Boll { vel: Point::from(a) * Normal::new(1.0, 0.25).sample(&mut rng) * self.vel.length() * rng.gen_range(0.25, 1.0),