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.

40 lines
1.3 KiB

  1. package playground;
  2. import org.apache.logging.log4j.LogManager;
  3. import org.apache.logging.log4j.Logger;
  4. import controller.ObjectController;
  5. import controller.ZickZackController;
  6. import gameobjects.AnimatedGameobject;
  7. import gameobjects.GameObject;
  8. /**
  9. * extends {@link SpaceInvadersLevel} with a ZigZack move of the enemies in
  10. * {@link #createSingleEnemy(String, double, double, double, double, ObjectController, double)} and
  11. * sets a different {@link #getStartupMessage()}.
  12. */
  13. public class Level3 extends SpaceInvadersLevel {
  14. private static Logger logger = LogManager.getLogger(Level3.class);
  15. @Override
  16. protected String getStartupMessage() {
  17. return "Get ready for level 3!!!";
  18. }
  19. @Override
  20. protected GameObject createSingleEnemy(String name, double x_enemy, double y_enemy,
  21. double vx_enemy, double vy_enemy, ObjectController enemyController, double gameTime) {
  22. logger.trace("creating enemy [" + name + "] with ZickZackController ");
  23. ObjectController zzController = new ZickZackController(gameTime, 0.5);
  24. GameObject go = new AnimatedGameobject(name, this, x_enemy, y_enemy, vx_enemy, vy_enemy,
  25. ENEMYSCALE, this.enemyAnim, this.getGameTime(), "loop").addController(zzController)
  26. .generateColliders();
  27. return go.generateColliders();
  28. }
  29. }