use geometry::*; use hitbox::*; #[derive(Debug, Clone)] pub struct Bug { pub pos: Vec2d, pub rotation: f64, pub velocity: Vec2d, pub alive: bool } const SPEED: f64 = 175.; impl Bug { pub fn new(x: f64, y: f64) -> Bug { let pos = Vec2d::new(x, y); let pos_unit = pos.unit(); Bug { pos, rotation: (-pos).angle(), velocity: -pos_unit * SPEED, alive: true } } pub fn advance(&mut self, seconds: f64) { self.pos = self.pos + self.velocity * seconds; } } impl CircleHitbox for Bug { fn pos(&self) -> Vec2d { self.pos } fn radius(&self) -> f64 { 75. } }