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
40 lines
1.3 KiB
package playground;
|
|
|
|
import org.apache.logging.log4j.LogManager;
|
|
import org.apache.logging.log4j.Logger;
|
|
import controller.ObjectController;
|
|
import controller.ZickZackController;
|
|
import gameobjects.AnimatedGameobject;
|
|
import gameobjects.GameObject;
|
|
|
|
|
|
/**
|
|
* extends {@link SpaceInvadersLevel} with a ZigZack move of the enemies in
|
|
* {@link #createSingleEnemy(String, double, double, double, double, ObjectController, double)} and
|
|
* sets a different {@link #getStartupMessage()}.
|
|
*/
|
|
public class Level3 extends SpaceInvadersLevel {
|
|
|
|
private static Logger logger = LogManager.getLogger(Level3.class);
|
|
|
|
@Override
|
|
protected String getStartupMessage() {
|
|
return "Get ready for level 3!!!";
|
|
}
|
|
|
|
|
|
@Override
|
|
protected GameObject createSingleEnemy(String name, double x_enemy, double y_enemy,
|
|
double vx_enemy, double vy_enemy, ObjectController enemyController, double gameTime) {
|
|
logger.trace("creating enemy [" + name + "] with ZickZackController ");
|
|
ObjectController zzController = new ZickZackController(gameTime, 0.5);
|
|
GameObject go = new AnimatedGameobject(name, this, x_enemy, y_enemy, vx_enemy, vy_enemy,
|
|
ENEMYSCALE, this.enemyAnim, this.getGameTime(), "loop").addController(zzController)
|
|
.generateColliders();
|
|
|
|
return go.generateColliders();
|
|
}
|
|
|
|
|
|
|
|
}
|