From bfa742d4798731370242abc5c11f8f0b40f0d563 Mon Sep 17 00:00:00 2001 From: Nico B Date: Thu, 16 Jun 2022 14:50:11 +0200 Subject: [PATCH] well finished HA08 --- .../src/playground/BreakoutLevel2.java | 23 +++++++------------ 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/GameProject/src/playground/BreakoutLevel2.java b/GameProject/src/playground/BreakoutLevel2.java index 681026e..dba9bac 100644 --- a/GameProject/src/playground/BreakoutLevel2.java +++ b/GameProject/src/playground/BreakoutLevel2.java @@ -62,19 +62,9 @@ public class BreakoutLevel2 extends BreakoutLevelBaseAdvanced { random = Color.GREEN; } - double vx = Math.random(); - if(vx <= 0.49) { - vx *= 240; - } else { - vx *= -240; - } + double vx = ((Math.random() * (240 - -240)) + -240); + double vy = ((Math.random() * (240 - -240)) + -240); - double vy = Math.random(); - if(vy <= 0.49) { - vy *= 240; - } else { - vy *= -240; - } FallingStar fragment = new FallingStar("fragment"+ i + getGameTime(), this, brick.getX(), brick.getY(), vx, vy, random, 5d); LimitedTimeController time = new LimitedTimeController(getGameTime(), 2); fragment.addController(time); @@ -88,11 +78,14 @@ public class BreakoutLevel2 extends BreakoutLevelBaseAdvanced { @Override protected void actionIfBallHitsEgo(GameObject ball, GameObject ego) { - if (ball.getVX() > 0 && ball.getX() <= ego.getX()- 25) { - ball.setVX(ball.getVX()*-1); + + RectObject ego1 = (RectObject) ego; + + if (ball.getVX() > 0 && ball.getX() <= ego.getX() - ego1.getWidth() * 0.45) { + ball.setVX(ball.getVX() *-1); ball.setVY(ball.getVY() * -1); } - else if (ball.getVX() < 0 && ball.getX() >= ego.getX() + 25) { + else if (ball.getVX() < 0 && ball.getX() >= ego.getX() + ego1.getWidth() * 0.45) { ball.setVX(ball.getVX() * -1); ball.setVY(ball.getVY() * -1); }