fdai7222
3 years ago
14 changed files with 137 additions and 25 deletions
-
7spaceinvaders/GameProject/.classpath
-
4spaceinvaders/GameProject/src/base/GameLoop.java
-
33spaceinvaders/GameProject/src/base/MovingObjectsGame.java
-
9spaceinvaders/GameProject/src/collider/package-info.java
-
14spaceinvaders/GameProject/src/controller/CollisionAwareEgoController.java
-
46spaceinvaders/GameProject/src/controller/EgoController.java
-
2spaceinvaders/GameProject/src/controller/ObjectController.java
-
7spaceinvaders/GameProject/src/gameobjects/package-info.java
-
2spaceinvaders/GameProject/src/log4j2.xml
-
2spaceinvaders/GameProject/src/playground/Level2.java
-
4spaceinvaders/GameProject/src/playground/Level4.java
-
21spaceinvaders/GameProject/src/playground/LevelMovingObjects.java
-
2spaceinvaders/GameProject/src/playground/SpaceInvadersLevel.java
-
9spaceinvaders/GameProject/src/playground/package-info.java
@ -0,0 +1,33 @@ |
|||
package base; |
|||
|
|||
import java.io.IOException; |
|||
import playground.LevelMovingObjects; |
|||
|
|||
/** |
|||
* main class to start a game with only one level {@link playground.LevelMovingObjects}. |
|||
* |
|||
*/ |
|||
public class MovingObjectsGame extends GameLoop { |
|||
|
|||
/** |
|||
* starts this game. |
|||
* |
|||
* @param args command line parameters (forwarded to {@link GameLoop#runGame(String[])}). |
|||
* @throws IOException if highscore.txt file cannot be written or accessed, the exception is |
|||
* thrown (and game ends). |
|||
*/ |
|||
public static void main(String[] args) throws IOException { |
|||
GameLoop myGame = new MovingObjectsGame(); |
|||
myGame.runGame(args); |
|||
} |
|||
|
|||
/** |
|||
* adds only one level to play ({@link playground.LevelMovingObjects}). |
|||
*/ |
|||
@Override |
|||
public void defineLevels() { |
|||
this.resetLevels(); |
|||
this.addLevel(new LevelMovingObjects()); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,9 @@ |
|||
/** |
|||
* The package contains classes implementing a 'bounding box' area around game objects. <br> |
|||
* The abstract base class {@link Collider} provides the abstract method {@link Collider#collidesWith(Collider)}, |
|||
* which needs to be implemented by child classes to detect and decide whether or not an object with such instance really collides with the other. |
|||
* {@link Collider} instances are to be used for game objects ({@link gameobjects}); see constructors.<br> |
|||
* |
|||
* The benefit of seperating Colliders from visual representations is that the area for collisions can be smaller/bigger/other shape to improve game play experience. |
|||
*/ |
|||
package collider; |
@ -0,0 +1,7 @@ |
|||
/** |
|||
* The package gameobjects contains all objects with a visual representation on screen. |
|||
* They can be combined to use controller instances for their behavior (subclasses of {@link controller.ObjectController}). |
|||
* The abstract base class is {@link GameObject}, which forces child-classes to implement the method |
|||
* {@link GameObject#updateObject()}. |
|||
*/ |
|||
package gameobjects; |
@ -0,0 +1,21 @@ |
|||
package playground; |
|||
|
|||
|
|||
|
|||
/** This level adds two distracting objects to the canvas that cannot collide but bounce around all the time. |
|||
*/ |
|||
public class LevelMovingObjects extends SpaceInvadersLevel { |
|||
|
|||
// TODO your code here |
|||
|
|||
|
|||
/** "Moving Objects Level!" is the message. |
|||
* |
|||
* @return String "Moving Objects Level!" |
|||
*/ |
|||
@Override |
|||
protected String getStartupMessage() { |
|||
return "Moving Objects Level!"; |
|||
} |
|||
} |
|||
|
@ -0,0 +1,9 @@ |
|||
/** |
|||
* The package playground contains all level specific logic and control of level logic. |
|||
* The structure and general logic (with global and local flags to be stored/used) |
|||
* is provided in abstract base class {@link Playground}.<br> |
|||
* Child-classes implement specific logic for one level and game type (e.g. {@link SpaceInvadersLevel}).<b> |
|||
* |
|||
* Generally, the base class {@link Playground} supports totally different game types to be implemented. |
|||
*/ |
|||
package playground; |
Write
Preview
Loading…
Cancel
Save
Reference in new issue