Emma Nagelschmidt
3 years ago
3 changed files with 109 additions and 0 deletions
-
BINGameProject.zip
-
1GameProject/src/base/BreakoutGame.java
-
108GameProject/src/playground/BreakoutLevel2.java
@ -0,0 +1,108 @@ |
|||
package playground; |
|||
|
|||
import java.awt.Color; |
|||
|
|||
import collider.RectCollider; |
|||
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) { |
|||
for(int i = 0; i < 20; i++) { |
|||
//Zufällige Farbe |
|||
gameobjects.FallingStar effect = new gameobjects.FallingStar("effect" + i, this, brick.getX(), brick.getY(), -240, 240, Color.RED, 3); |
|||
this.addObject(effect); |
|||
} |
|||
|
|||
this.ball.setVY(this.ball.getVY()*-1); |
|||
this.deleteObject(brick.getId()); |
|||
//logger.trace("Collision detected of ball and brick " + brick.getId()); |
|||
} |
|||
|
|||
@Override |
|||
protected void actionIfBallHitsEgo(GameObject ball, GameObject ego) { |
|||
if (ball.getX()>= (ego.getX() + 0.45d * 60)) { |
|||
this.ball.setVX(this.ball.getVX()*-1); |
|||
} else if (ball.getX()<= (ego.getX() - 0.45d * 60)) { |
|||
this.ball.setVX(this.ball.getVX()*-1); |
|||
} |
|||
this.ball.setVY(this.ball.getVY()*-1); |
|||
|
|||
//logger.trace("Collision detected of ball and ego "); |
|||
} |
|||
|
|||
@Override |
|||
protected GameObject createEgoObject() { |
|||
RectObject egoObject_BL1 = new RectObject("egoObject_BL1", this, 350, 550, 0, 0, 60, 10, Color.BLUE); |
|||
egoObject_BL1.addController(new controller.EgoController(60, 10)); |
|||
egoObject_BL1.addCollider(new RectCollider("egoObject_BL1_Col", egoObject_BL1, 60, 10)); |
|||
//logger.debug("Ego created "); |
|||
return egoObject_BL1; |
|||
} |
|||
|
|||
@Override |
|||
protected GameObject createBall() { |
|||
gameobjects.FallingStar BallObject_BL1 = new gameobjects.FallingStar ("BallObject_BL1", this, 350, 350, 130, 130, Color.RED, 5); |
|||
BallObject_BL1.addController(new controller.ReboundController()); |
|||
//logger.debug("Ball created "); |
|||
return BallObject_BL1; |
|||
} |
|||
|
|||
@Override |
|||
protected GameObject createBrick(int row, int column) { |
|||
double a = Math.random(); |
|||
|
|||
if(a <= 0.25) { |
|||
RectObject brick0 = new RectObject("brick" + row + column, this, column * (2 * this.getBrickSizeX()) + this.getBrickStartX(), row * (2 * this.getBrickSizeY()) + this.getBrickStartY(), 0, 0, 60, 30, Color.GREEN); |
|||
brick0.addCollider(new RectCollider("brick" + row + column + "Col", brick0, 60, 30)); |
|||
return brick0; |
|||
} |
|||
if(a > 0.25 && a <= 0.5) { |
|||
RectObject brick1 = new RectObject("brick" + row + column, this, column * (2 * this.getBrickSizeX()) + this.getBrickStartX(), row * (2 * this.getBrickSizeY()) + this.getBrickStartY(), 0, 0, 60, 30, Color.BLUE); |
|||
brick1.addCollider(new RectCollider("brick" + row + column + "Col", brick1, 60, 30)); |
|||
return brick1; |
|||
} |
|||
if(a > 0.5 && a <= 0.75) { |
|||
RectObject brick2 = new RectObject("brick" + row + column, this, column * (2 * this.getBrickSizeX()) + this.getBrickStartX(), row * (2 * this.getBrickSizeY()) + this.getBrickStartY(), 0, 0, 60, 30, Color.PINK); |
|||
brick2.addCollider(new RectCollider("brick" + row + column + "Col", brick2, 60, 30)); |
|||
return brick2; |
|||
} |
|||
RectObject brick3 = new RectObject("brick" + row + column, this, column * (2 * this.getBrickSizeX()) + this.getBrickStartX(), row * (2 * this.getBrickSizeY()) + this.getBrickStartY(), 0, 0, 60, 30, Color.YELLOW); |
|||
brick3.addCollider(new RectCollider("brick" + row + column + "Col", brick3, 60, 30)); |
|||
return brick3; |
|||
//logger.debug("Brick created: " + brick.getId()); |
|||
} |
|||
|
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue