diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..06d8e87 Binary files /dev/null and b/.DS_Store differ diff --git a/GameProject/src/controller/BreakoutController.java b/GameProject/src/controller/BreakoutController.java new file mode 100644 index 0000000..6e6aee5 --- /dev/null +++ b/GameProject/src/controller/BreakoutController.java @@ -0,0 +1,10 @@ +package controller; + +public class BreakoutController extends EgoController { + + public BreakoutController(double width, double height) { + super(width, 0); + } + + +} \ No newline at end of file diff --git a/GameProject/src/playground/BreakoutLevel2.java b/GameProject/src/playground/BreakoutLevel2.java new file mode 100644 index 0000000..4bdb331 --- /dev/null +++ b/GameProject/src/playground/BreakoutLevel2.java @@ -0,0 +1,84 @@ +package playground; + +import java.awt.Color; + +import controller.BreakoutController; +import controller.EgoController; +import controller.ReboundController; +import gameobjects.FallingStar; +import gameobjects.GameObject; +import gameobjects.RectObject; + +public class BreakoutLevel2 extends BreakoutLevelBaseAdvanced { + + @Override + protected int calcNrBricksX() { + return 6; + } + + @Override + protected int calcNrBricksY() { + return 5; + } + + @Override + protected double getBrickSizeX() { + return 60; + } + + @Override + protected double getBrickSizeY() { + return 30; + } + + @Override + protected double getBrickStartX() { + return 90; + } + + @Override + protected double getBrickStartY() { + return 60; + } + + @Override + protected void actionIfBallHitsBrick(GameObject ball, GameObject brick) { + if(ball.collisionDetection(brick)) { + ball.setVY(ball.getVY()*-1); + deleteObjectNow(brick.id); + + } + } + + @Override + protected void actionIfBallHitsEgo(GameObject ball, GameObject ego) { + if(ball.collisionDetection(ego)) { + ball.setVY(ball.getVY()*-1); + } + } + + @Override + protected GameObject createEgoObject() { + RectObject ego = new RectObject("ego", this, 350, 550, 0, 0, 80, 10, Color.blue); + this.addObject(ego); + ego.addController(new BreakoutController(ego.getWidth(),ego.getHeight())); + ego.addCollider(new collider.RectCollider(ego.getId(),ego,ego.getWidth(),ego.getHeight())); + return ego; + } + + @Override + protected GameObject createBall() { + gameobjects.FallingStar ball = new gameobjects.FallingStar("ball",this,350,350,130,130,Color.red,5); + ball.addController(new ReboundController()); + return ball; + } + + @Override + protected GameObject createBrick(int row, int column) { + RectObject brick = new RectObject("brick"+row+column,this,40+(column*68),40+(row*60),0,0,60,30,Color.yellow); + brick.addCollider(new collider.RectCollider(brick.getId(),brick,brick.getWidth(),brick.getHeight())); + return brick; + } + + +}