keys are displayed on the screen, they can be "collected" via a scripting function
[supertux.git] / src / badguy / zeekling.cpp
index 41c4590..0b2758d 100644 (file)
 //  02111-1307, USA.
 
 #include <config.h>
+#include <math.h>
 
-#include "zeekling.h"
+#include "zeekling.hpp"
 
-static const float SPEED = 150;
 
 //TODO: Make the Zeekling behave more interesting
 Zeekling::Zeekling(const lisp::Lisp& reader)
@@ -58,8 +58,9 @@ Zeekling::write(lisp::Writer& writer)
 void
 Zeekling::activate()
 {
+  speed = 130 + (rand() % 41);
   if (set_direction) {dir = initial_direction;}
-  physic.set_velocity_x(dir == LEFT ? -SPEED : SPEED);
+  physic.set_velocity_x(dir == LEFT ? -speed : speed);
   physic.enable_gravity(false);
   sprite->set_action(dir == LEFT ? "left" : "right");
 }
@@ -81,7 +82,7 @@ Zeekling::collision_solid(GameObject& , const CollisionHit& hit)
   } else { // hit right or left
     dir = (dir == LEFT ? RIGHT : LEFT);
     sprite->set_action(dir == LEFT ? "left" : "right");
-    physic.set_velocity_x(dir == LEFT ? -SPEED : SPEED);
+    physic.set_velocity_x(dir == LEFT ? -speed : speed);
   }
 
   return CONTINUE;