Package playground
Class LevelBoss
java.lang.Object
playground.Playground
playground.SpaceInvadersLevel
playground.LevelBoss
Class that realizes all the game logic of a very simple game level. The level contains for now
only two objects that are
GameObject
subclasses: FallingStar
and
EgoObject
. Functions performed by this class are:
- initially set up the level, spawn all object etc., in method
SpaceInvadersLevel.prepareLevel(java.lang.String)
- React to keyboard commands in method
Playground.processKeyEvents(java.util.Stack)
- define basic object movement rules for all objects in the level in the various
ObjectController subclasses:
EgoController
andFallingStarController
.
-
Field Summary
Fields inherited from class playground.SpaceInvadersLevel
alienImage, alienshowTime, BONUS_DURATION, CANVASX, CANVASY, doneLevel, DYING_INTERVAL, EGORAD, EGOSPEED, enemyAnim, ENEMYSCALE, ENEMYSHOTSPEED, ENEMYSPEEDX, ENEMYSPEEDY, EXPL_COLOR, EXPL_DURATION, heartAnim, heartImage, heartshowTime, laser, LEVEL_INIT_TIME, LEVEL2STARS, lost, nextShot, NR_COLLECT, NR_ENEMIES, NRSHARDS, SHARDSPEED, SHOTSPEED, smash, STARSPEED, STARTPERIOD, STARTTEXTSPEED, starttime
Fields inherited from class playground.Playground
addables, canvasX, canvasY, flags, FLAGS_ALL, FLAGS_GLOBAL, FLAGS_LEVEL, gameObjects, gameTime, keyEvents, level, mouseEvents, pausedFlag, removables, timeStep
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) void
actionIfEnemyIsHit
(GameObject e, GameObject shot) implements game behavior if an enemy object is hit by a players' shot.(package private) double
calculates and returns the probability that an enemy shots.protected double
returns a number representing the speed of an enemy object in X direction (pixels/second)protected double
returns a number representing the speed of an enemy object in Y direction (pixels/second)protected int
returns the maximum number of enemy instances (which are created at level start)protected GameObject
createEnemyShotObject
(GameObject parentObject, String name, ObjectController limitedTimeController) protected GameObject
createSingleEnemy
(String name, double x_enemy, double y_enemy, double vx_enemy, double vy_enemy, ObjectController enemyController, double gameTime) protected String
simply returns the text that should be displayed at level startMethods inherited from class playground.SpaceInvadersLevel
actionIfEgoCollidesWithCollect, actionIfEgoCollidesWithEnemy, actionIfEgoObjectIsHit, applyGameLogic, calcNrCollect, createCollectables, createEgoObject, createEnemies, createEnemyController, createEnemyShot, createExplosion, createSingleCollect, createStars, gameOver, levelFinished, preferredSizeX, preferredSizeY, prepareLevel, redrawLevel, setupInitialState
Methods inherited from class playground.Playground
addObject, addObjectNow, collectObjects, deleteObject, deleteObjectNow, getGameTime, getGlobalFlag, getKeyEvents, getLevelFlag, getMouseEvents, getObject, getOrCreateGlobalFlag, getOrCreateLevelFlag, getSizeX, getSizeY, getTimestep, isPaused, processKeyEvents, processMouseEvents, redraw, reset, resetFlags, setGameTime, setGlobalFlag, setLevelFlag, setPaused, setTimestep, togglePause, updateObjects
-
Constructor Details
-
LevelBoss
public LevelBoss()
-
-
Method Details
-
actionIfEnemyIsHit
Description copied from class:SpaceInvadersLevel
implements game behavior if an enemy object is hit by a players' shot. It creates an explosion effect, plays a sound and adds 200 points to the current score (and it removes the enemy object and the shot object).- Overrides:
actionIfEnemyIsHit
in classSpaceInvadersLevel
- Parameters:
e
- enemy which was hitshot
- the shot object that hit the enemy
-
calcEnemyShotProb
double calcEnemyShotProb()Description copied from class:SpaceInvadersLevel
calculates and returns the probability that an enemy shots. Used bySpaceInvadersLevel.createEnemyShot(GameObject)
.- Overrides:
calcEnemyShotProb
in classSpaceInvadersLevel
- Returns:
- a positive value between 0 (no chance) to 1 (for sure).
-
calcEnemySpeedX
protected double calcEnemySpeedX()Description copied from class:SpaceInvadersLevel
returns a number representing the speed of an enemy object in X direction (pixels/second)- Overrides:
calcEnemySpeedX
in classSpaceInvadersLevel
- Returns:
- a positive value
-
calcEnemySpeedY
protected double calcEnemySpeedY()Description copied from class:SpaceInvadersLevel
returns a number representing the speed of an enemy object in Y direction (pixels/second)- Overrides:
calcEnemySpeedY
in classSpaceInvadersLevel
- Returns:
- a positive value
-
calcNrEnemies
protected int calcNrEnemies()Description copied from class:SpaceInvadersLevel
returns the maximum number of enemy instances (which are created at level start)- Overrides:
calcNrEnemies
in classSpaceInvadersLevel
- Returns:
- a positive value
-
createEnemyShotObject
protected GameObject createEnemyShotObject(GameObject parentObject, String name, ObjectController limitedTimeController) - Overrides:
createEnemyShotObject
in classSpaceInvadersLevel
-
createSingleEnemy
protected GameObject createSingleEnemy(String name, double x_enemy, double y_enemy, double vx_enemy, double vy_enemy, ObjectController enemyController, double gameTime) - Overrides:
createSingleEnemy
in classSpaceInvadersLevel
-
getStartupMessage
Description copied from class:SpaceInvadersLevel
simply returns the text that should be displayed at level start- Overrides:
getStartupMessage
in classSpaceInvadersLevel
- Returns:
- a string that is displayed at start. Should be not longer than 30 characters.
-