You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

81 lines
2.1 KiB

  1. package playground;
  2. import java.awt.Color;
  3. import org.apache.logging.log4j.LogManager;
  4. import org.apache.logging.log4j.Logger;
  5. import controller.*;
  6. import collider.RectCollider;
  7. import gameobjects.FallingStar;
  8. import gameobjects.GameObject;
  9. import gameobjects.RectObject;
  10. public class BreakoutLevel1 extends BreakoutLevelBase {
  11. private static Logger logger = LogManager.getLogger(BreakoutLevel1.class);
  12. @Override
  13. protected void actionIfBallHitsBrick(GameObject ball, GameObject brick) {
  14. deleteObject(brick.getId());
  15. ball.setVX(ball.getVX()*-1);
  16. // TODO Auto-generated method stub
  17. }
  18. @Override
  19. protected void actionIfBallHitsEgo(GameObject ball, GameObject ego) {
  20. // TODO Auto-generated method stub
  21. ball.setVY(ball.getVY()*-1);
  22. }
  23. @Override
  24. protected GameObject createEgoObject() {
  25. RectObject blueBox = new RectObject("ego", this, 350, 550, 0, 0, 80, 10, Color.BLUE);
  26. blueBox.generateColliders();
  27. EgoController ec = new EgoController(30);
  28. blueBox.addController(ec);
  29. logger.info("ego created.");
  30. return blueBox;
  31. }
  32. @Override
  33. protected GameObject createBall() {
  34. GameObject ball = new FallingStar("ball1", this, 350, 350, 120, 120, Color.RED, 5);
  35. ball.addController(new ReboundController());
  36. logger.info("ball created.");
  37. return ball;
  38. }
  39. @Override
  40. protected GameObject createBrick(int row, int column) {
  41. RectObject brick = new RectObject("brick"+row+column, this, 30 + row *60, 30 + column * 60, 0, 0, 40, 40, Color.GREEN);
  42. brick.addCollider(new RectCollider("brickcoll"+row+column, brick, 40, 40));
  43. // TODO Auto-generated method stub
  44. return brick;
  45. }
  46. @Override
  47. public void prepareLevel(String level) {
  48. GameObject ego1 = this.createEgoObject();
  49. this.ego = ego1;
  50. this.addObject(ego1);
  51. GameObject ball1 = this.createBall();
  52. this.ball = ball1;
  53. this.addObject(ball1);
  54. GameObject brick00 = this.createBrick(0, 0);
  55. GameObject brick01 = this.createBrick(0, 1);
  56. GameObject brick11 = this.createBrick(1, 1);
  57. this.addObject(brick00);
  58. this.addObject(brick01);
  59. this.addObject(brick11);
  60. // TODO Auto-generated method stub
  61. }
  62. }