3 Commits

  1. 9
      GameProject/src/collider/CircleCollider.java
  2. 2
      GameProject/src/collider/Collider.java
  3. 5
      GameProject/src/collider/RectCollider.java
  4. 5
      GameProject/src/controller/EnemyController.java
  5. 1
      GameProject/src/controller/MineController.java
  6. 2
      GameProject/src/gameobjects/AnimatedGameobject.java
  7. 8
      GameProject/src/gameobjects/EgoObject.java
  8. 4
      GameProject/src/gameobjects/FallingStar.java
  9. 2
      GameProject/src/gameobjects/RectObject.java
  10. 6
      GameProject/src/gameobjects/TextObject.java
  11. 2
      GameProject/src/playground/Animation.java
  12. 7
      GameProject/src/playground/Level5.java
  13. 5
      GameProject/src/playground/LevelHitTwice.java
  14. 3
      GameProject/src/playground/SpaceInvadersLevel.java
  15. 8
      GameProject/src/playground/SpaceInvadersLevelTest.java
  16. 2
      GameProject/src/rendering/RectArtist.java
  17. 9
      GameProject/src/rendering/TextArtist.java
  18. 1
      GameProject/src/ui/GameUI.java

9
GameProject/src/collider/CircleCollider.java

@ -1,6 +1,5 @@
package collider; package collider;
import java.awt.Color;
import gameobjects.*; import gameobjects.*;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
@ -17,7 +16,7 @@ public class CircleCollider extends Collider {
double r; double r;
private static Logger logger = LogManager.getLogger(Collider.class); private static Logger logger = LogManager.getLogger(Collider.class);
/** /**
* Constructor which sets the radius to be respected for collisions. * Constructor which sets the radius to be respected for collisions.
* *
@ -48,7 +47,7 @@ public class CircleCollider extends Collider {
public boolean checkCollisionCircCirc(Collider _c2) throws Exception { public boolean checkCollisionCircCirc(Collider _c2) throws Exception {
CircleCollider c2 = (CircleCollider) _c2; CircleCollider c2 = (CircleCollider) _c2;
CircleCollider c1 = this; CircleCollider c1 = this;
logger.trace(c1.x + " " + c1.y + " " + c1.r + " " + c2.x + " " + c2.y+ " " + c2.r);
logger.trace(c1.x + " " + c1.y + " " + c1.r + " " + c2.x + " " + c2.y + " " + c2.r);
int kathete1 = (int) (Math.abs(c2.gameobject.getX() - c1.gameobject.getX())); int kathete1 = (int) (Math.abs(c2.gameobject.getX() - c1.gameobject.getX()));
int kathete2 = (int) (Math.abs(c2.gameobject.getX() - c1.gameobject.getY())); int kathete2 = (int) (Math.abs(c2.gameobject.getX() - c1.gameobject.getY()));
int hypothenuse = (int) (c1.r + c2.r); int hypothenuse = (int) (c1.r + c2.r);
@ -81,8 +80,4 @@ public class CircleCollider extends Collider {
throw new RuntimeException("Collider type not implemented!"); throw new RuntimeException("Collider type not implemented!");
} }
private Color color = Color.WHITE;
} }

2
GameProject/src/collider/Collider.java

@ -1,7 +1,5 @@
package collider; package collider;
import java.awt.Graphics2D;
import java.util.LinkedList;
import gameobjects.GameObject; import gameobjects.GameObject;
import playground.Playground; import playground.Playground;
import controller.ObjectController; import controller.ObjectController;

5
GameProject/src/collider/RectCollider.java

@ -1,7 +1,5 @@
package collider; package collider;
import java.awt.Color;
import gameobjects.*; import gameobjects.*;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
@ -13,11 +11,8 @@ public class RectCollider extends Collider {
//double x; //double x;
//double y; //double y;
//double vx;
//double vy;
double w, h; double w, h;
private Color color = Color.WHITE;
private static Logger logger = LogManager.getLogger(RectCollider.class); private static Logger logger = LogManager.getLogger(RectCollider.class);

5
GameProject/src/controller/EnemyController.java

@ -1,6 +1,7 @@
package controller; package controller;
import playground.Playground;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
@ -27,8 +28,8 @@ public class EnemyController extends ObjectController {
if (gameObject.getY() >= this.getPlayground().getSizeY()) { if (gameObject.getY() >= this.getPlayground().getSizeY()) {
this.getPlayground().deleteObject(gameObject.getId()); this.getPlayground().deleteObject(gameObject.getId());
// add to points counter // add to points counter
Integer pts = (Integer) this.getPlayground().getGlobalFlag("points");
this.getPlayground().setGlobalFlag("points", pts - 200);
Integer pts = (Integer) Playground.getGlobalFlag("points");
Playground.setGlobalFlag("points", pts - 200);
} }
applySpeedVector(); applySpeedVector();

1
GameProject/src/controller/MineController.java

@ -1,6 +1,5 @@
package controller; package controller;
import controller.ObjectController;
import gameobjects.GameObject; import gameobjects.GameObject;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;

2
GameProject/src/gameobjects/AnimatedGameobject.java

@ -1,9 +1,7 @@
package gameobjects; package gameobjects;
import java.util.LinkedList;
import playground.Playground; import playground.Playground;
import playground.Animation; import playground.Animation;
import collider.Collider;
import collider.RectCollider; import collider.RectCollider;
import rendering.*; import rendering.*;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;

8
GameProject/src/gameobjects/EgoObject.java

@ -3,14 +3,6 @@ package gameobjects;
import java.awt.Color; import java.awt.Color;
import collider.*; import collider.*;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.LinkedList;
import javax.imageio.ImageIO;
import collider.Collider;
import controller.ObjectController;
import playground.Playground; import playground.Playground;
import rendering.*; import rendering.*;

4
GameProject/src/gameobjects/FallingStar.java

@ -8,7 +8,6 @@ import rendering.*;
public class FallingStar extends GameObject { public class FallingStar extends GameObject {
private Color color = Color.WHITE;
protected double rad = -1; protected double rad = -1;
@ -16,8 +15,7 @@ public class FallingStar extends GameObject {
public FallingStar(String id, Playground playground, double x, double y, double vx, double vy, public FallingStar(String id, Playground playground, double x, double y, double vx, double vy,
Color color, double rad) { Color color, double rad) {
super(id, playground, x, y, vx, vy); super(id, playground, x, y, vx, vy);
this.rad = rad;
this.color = color;
this.rad = rad;
LinkedList<Collider> cols = new LinkedList<Collider>(); LinkedList<Collider> cols = new LinkedList<Collider>();
CircleCollider cc = new CircleCollider("cc", this, rad); CircleCollider cc = new CircleCollider("cc", this, rad);
cols.add(cc); cols.add(cc);

2
GameProject/src/gameobjects/RectObject.java

@ -1,10 +1,8 @@
package gameobjects; package gameobjects;
import java.awt.Color; import java.awt.Color;
import java.io.File;
import collider.RectCollider; import collider.RectCollider;
import playground.Playground; import playground.Playground;
import playground.SpaceInvadersLevel;
import rendering.RectArtist; import rendering.RectArtist;
/** /**

6
GameProject/src/gameobjects/TextObject.java

@ -1,14 +1,8 @@
package gameobjects; package gameobjects;
import java.awt.Color; import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.font.FontRenderContext;
import java.awt.font.TextAttribute;
import java.text.AttributedString;
import java.util.LinkedList; import java.util.LinkedList;
import collider.*; import collider.*;
import controller.ObjectController;
import playground.Playground; import playground.Playground;
import rendering.*; import rendering.*;

2
GameProject/src/playground/Animation.java

@ -38,7 +38,6 @@ public class Animation {
String zeile; String zeile;
double zeit; double zeit;
int it = 0;
while (scanner.hasNext()) { while (scanner.hasNext()) {
if (scanner.hasNextDouble()) { if (scanner.hasNextDouble()) {
@ -57,7 +56,6 @@ public class Animation {
logger.warn(file + " not found!!"); logger.warn(file + " not found!!");
} }
it++;
logger.trace(basePath.getParent().toString() + "/" + zeile); logger.trace(basePath.getParent().toString() + "/" + zeile);
} }
} }

7
GameProject/src/playground/Level5.java

@ -0,0 +1,7 @@
package playground;
public class Level5 extends SpaceInvadersLevel{
}

5
GameProject/src/playground/LevelHitTwice.java

@ -1,11 +1,6 @@
package playground; package playground;
import controller.FallingStarController;
import gameobjects.EgoObject;
import gameobjects.FallingStar;
import gameobjects.GameObject; import gameobjects.GameObject;
import gameobjects.RectObject;
import java.awt.Color;
import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.Logger;

3
GameProject/src/playground/SpaceInvadersLevel.java

@ -1,6 +1,5 @@
package playground; package playground;
// import utilities.* ;
import java.awt.Color; import java.awt.Color;
import java.awt.Font; import java.awt.Font;
import java.awt.Graphics2D; import java.awt.Graphics2D;
@ -237,7 +236,6 @@ public class SpaceInvadersLevel extends Playground {
// check whether all enemies have been destroyed or escaped // check whether all enemies have been destroyed or escaped
if (enemies.size() == 0) { if (enemies.size() == 0) {
HighscoreManager hsm = new HighscoreManager();
HighscoreManager.writeHSToFile((Integer) Playground.getGlobalFlag("points"), HighscoreManager.writeHSToFile((Integer) Playground.getGlobalFlag("points"),
(Integer) Playground.getGlobalFlag("highscore")); (Integer) Playground.getGlobalFlag("highscore"));
this.doneLevel = true; this.doneLevel = true;
@ -487,7 +485,6 @@ public class SpaceInvadersLevel extends Playground {
} }
void createCollectables() { void createCollectables() {
double gameTime = this.getGameTime();
// create collectables // create collectables
for (int i = 0; i < this.calcNrCollect(); i++) { for (int i = 0; i < this.calcNrCollect(); i++) {

8
GameProject/src/playground/SpaceInvadersLevelTest.java

@ -56,24 +56,24 @@ class SpaceInvadersLevelTest {
@Test @Test
void testActionIfEnemyIsHitPointsUp() { void testActionIfEnemyIsHitPointsUp() {
Integer numPointsBefore = (Integer)myLevel.getGlobalFlag("points");
Integer numPointsBefore = (Integer)Playground.getGlobalFlag("points");
GameObject dummyShot = new RectObject("shot1", myLevel, 0,0,0,0, 12, 12, Color.WHITE); GameObject dummyShot = new RectObject("shot1", myLevel, 0,0,0,0, 12, 12, Color.WHITE);
GameObject dummyEnemy = new RectObject("ego1", myLevel, 0,0,0,0, 12, 12, Color.BLACK); GameObject dummyEnemy = new RectObject("ego1", myLevel, 0,0,0,0, 12, 12, Color.BLACK);
myLevel.addObject(dummyShot); myLevel.addObject(dummyShot);
myLevel.addObject(dummyEnemy); myLevel.addObject(dummyEnemy);
myLevel.actionIfEnemyIsHit(dummyEnemy, dummyShot);; // this is the call under test myLevel.actionIfEnemyIsHit(dummyEnemy, dummyShot);; // this is the call under test
Integer numPointsAfter = (Integer)myLevel.getGlobalFlag("points"); // changed?
Integer numPointsAfter = (Integer)Playground.getGlobalFlag("points"); // changed?
assertTrue("numPoints is up +200 after EnemyIsHit", numPointsAfter == numPointsBefore + 200); // points are set +200 , check. assertTrue("numPoints is up +200 after EnemyIsHit", numPointsAfter == numPointsBefore + 200); // points are set +200 , check.
} }
@Test @Test
void testActionIfEgoObjectIsHitLivesDown() { void testActionIfEgoObjectIsHitLivesDown() {
Integer numLivesBefore = (Integer)myLevel.getGlobalFlag("egoLives");
Integer numLivesBefore = (Integer)Playground.getGlobalFlag("egoLives");
GameObject dummyShot = new RectObject("shot1", myLevel, 0,0,0,0, 12, 12, Color.RED); GameObject dummyShot = new RectObject("shot1", myLevel, 0,0,0,0, 12, 12, Color.RED);
GameObject dummyEgo = new EgoObject("ego1", myLevel, 0,0,0,0, 5); GameObject dummyEgo = new EgoObject("ego1", myLevel, 0,0,0,0, 5);
myLevel.addObject(dummyShot); myLevel.addObject(dummyShot);
myLevel.actionIfEgoObjectIsHit(dummyShot, dummyEgo); // this is the call under test myLevel.actionIfEgoObjectIsHit(dummyShot, dummyEgo); // this is the call under test
Integer numLivesAfter = (Integer)myLevel.getGlobalFlag("egoLives"); // changed?
Integer numLivesAfter = (Integer)Playground.getGlobalFlag("egoLives"); // changed?
assertTrue("numLives is reduced by one ifEgoIsHit", numLivesAfter == numLivesBefore - 1); // lives is reduced by one assertTrue("numLives is reduced by one ifEgoIsHit", numLivesAfter == numLivesBefore - 1); // lives is reduced by one
} }

2
GameProject/src/rendering/RectArtist.java

@ -23,8 +23,6 @@ public class RectArtist extends Artist {
// g.drawLine((int) (Math.round(this.getX())), (int) (Math.round(this.getY()-this.height/2.)), // g.drawLine((int) (Math.round(this.getX())), (int) (Math.round(this.getY()-this.height/2.)),
// (int) Math.round(this.getX()), // (int) Math.round(this.getX()),
// (int) Math.round(this.getY() + this.height/2.)); // (int) Math.round(this.getY() + this.height/2.));
int x = (int) this.getX();
int y = (int) this.getY();
g.fillRect((int) (this.getX() - this.width / 2.), (int) (this.getY() - this.height / 2.), g.fillRect((int) (this.getX() - this.width / 2.), (int) (this.getY() - this.height / 2.),
(int) this.width, (int) this.height); (int) this.width, (int) this.height);

9
GameProject/src/rendering/TextArtist.java

@ -14,14 +14,19 @@ import java.text.AttributedString;
public class TextArtist extends Artist { public class TextArtist extends Artist {
private String text = null; private String text = null;
private int size = 1;
private Color textColor = null; private Color textColor = null;
protected double textWidth, textHeight; protected double textWidth, textHeight;
Font serifFont = null; Font serifFont = null;
/** Constructor to intitialize the TextArtist attributes
*
* @param go GameObject to be used for xy coordinate reference
* @param text the text to draw
* @param size point size to be used for font "Serif"
* @param textColor color to draw the text with (foreground)
*/
public TextArtist(GameObject go, String text, int size, Color textColor) { public TextArtist(GameObject go, String text, int size, Color textColor) {
super(go); super(go);
this.size = size;
this.text = text; this.text = text;
this.serifFont = new Font("Serif", Font.PLAIN, size); this.serifFont = new Font("Serif", Font.PLAIN, size);

1
GameProject/src/ui/GameUI.java

@ -1,6 +1,5 @@
package ui; package ui;
import java.awt.Dimension;
import java.util.*; import java.util.*;
import javax.swing.JFrame; import javax.swing.JFrame;
import javax.swing.JMenu; import javax.swing.JMenu;

Loading…
Cancel
Save