From 1b9e52870004d200ec05f4fe88a62e4fc8d3c7ef Mon Sep 17 00:00:00 2001 From: deadlocker8 <deadlocker@gmx.de> Date: Wed, 26 Oct 2016 16:18:27 +0200 Subject: [PATCH] implemented explosive ball --- src/de/bricked/game/board/Board.java | 19 ++++++++++++++++--- src/de/bricked/ui/LevelController.java | 4 ++-- 2 files changed, 18 insertions(+), 5 deletions(-) diff --git a/src/de/bricked/game/board/Board.java b/src/de/bricked/game/board/Board.java index ff5782a..2354084 100644 --- a/src/de/bricked/game/board/Board.java +++ b/src/de/bricked/game/board/Board.java @@ -2,6 +2,8 @@ package de.bricked.game.board; import java.util.ArrayList; +import de.bricked.game.balls.Ball; +import de.bricked.game.balls.BallType; import de.bricked.game.bricks.Brick; import de.bricked.game.bricks.BrickType; import de.bricked.game.levels.Level; @@ -151,11 +153,22 @@ public class Board return HEIGHT; } - public int hitBrick(int row, int col, boolean instantDestroy) + public int hitBrick(int row, int col, Ball ball) { - points = 0; + points = 0; - destroyBrick(row, col, instantDestroy); + if(ball.getType().equals(BallType.EXPLOSIVE)) + { + Brick currentBrick = bricks.get(row).get(col); + if(currentBrick.getPowerUp() != null) + { + //TODO deploy PowerUp + } + + bricks.get(row).set(col, new Brick(BrickType.TNT)); + } + + destroyBrick(row, col, false); return points; } diff --git a/src/de/bricked/ui/LevelController.java b/src/de/bricked/ui/LevelController.java index f7e227e..5a37792 100644 --- a/src/de/bricked/ui/LevelController.java +++ b/src/de/bricked/ui/LevelController.java @@ -607,7 +607,7 @@ public class LevelController { anchorPaneGame.getChildren().remove(stackPaneBall); - game.setBall(new Ball(BallType.NO_COLLISION)); + game.setBall(new Ball(BallType.EXPLOSIVE)); // create circle for ball final Circle circle = new Circle(game.getBall().getBallRadius(), Color.web(game.getBall().getType().getColor())); @@ -661,7 +661,7 @@ public class LevelController correctBallPosition(hitLocation, ballPosition, brickPosition, stackPaneBrick.getWidth(), stackPaneBrick.getHeight()); - game.setPoints(game.getPoints() + game.getBoard().hitBrick(i, k, false)); + game.setPoints(game.getPoints() + game.getBoard().hitBrick(i, k, game.getBall())); labelPoints.setText(String.valueOf(game.getPoints())); labelBlocksRemaining.setText(game.getBoard().getNumberOfRemainingBricks() + " Bricks remaining"); -- GitLab