You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

32 lines
813 B

  1. package controller;
  2. import org.apache.logging.log4j.Logger;
  3. import org.apache.logging.log4j.LogManager;
  4. public class ZickZackController extends EnemyController {
  5. protected double g0;
  6. protected double dt;
  7. protected double lastMod = -1;
  8. private static Logger logger = LogManager.getLogger(ZickZackController.class);
  9. public ZickZackController(double gameTime, double dt) {
  10. super();
  11. this.dt = dt;
  12. this.g0 = gameTime;
  13. }
  14. public void updateObject() {
  15. double gameTime = this.getPlayground().getGameTime();
  16. logger.trace("current Object x: "+gameObject.getX());
  17. double mod = (gameTime - this.g0) % this.dt;
  18. if (mod < lastMod) {
  19. gameObject.setVX(-1.0 * gameObject.getVX());
  20. logger.trace("inverting VX");
  21. }
  22. lastMod = mod;
  23. super.updateObject();
  24. }
  25. }