diff --git a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/game/managers/GameObjectManager.java b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/game/managers/GameObjectManager.java index a5a3e8f..4cc6338 100644 --- a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/game/managers/GameObjectManager.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/game/managers/GameObjectManager.java @@ -28,6 +28,9 @@ class GameObjectManager { private Background background; private Player player; + private RandomBall randomBall; + private FollowerBall followerBall; + private LinkedList gameObjects; /** @@ -49,6 +52,9 @@ class GameObjectManager { this.background = new Background(gameView); this.player = new Player(gameView); + + this.randomBall = new RandomBall(gameView); + this.followerBall = new FollowerBall(gameView, randomBall); } /** @@ -64,6 +70,9 @@ class GameObjectManager { gameObjects.add(scoreLabel); gameObjects.add(livesIcon); gameObjects.add(player); + gameObjects.add(randomBall); + gameObjects.add(followerBall); + gameObjects.forEach(gameObject ->{ gameObject.update(); diff --git a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/base/Position.java b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/base/Position.java index 9d35668..0beea02 100644 --- a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/base/Position.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/base/Position.java @@ -100,6 +100,16 @@ public class Position implements Cloneable{ this.y = y; } + /** + * Calculates the distance to any other position. + * + * @param other Position to calculate the distance to. + * @return The distance. + */ + public double distance(Position other) { + return Math.sqrt(Math.pow((x - other.x), 2) + Math.pow((y - other.y), 2)); + } + @Override public String toString() { return "Position(" + (int) Math.round(x) + ", " + (int) Math.round(y) + ')'; diff --git a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/FollowerBall.java b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/FollowerBall.java index 504bb1c..123741e 100644 --- a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/FollowerBall.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/FollowerBall.java @@ -1,9 +1,9 @@ -package de.thdeg.berl.ufofight.graphics.movingobjects; +package de.thdeg.greiner.superpangworld.graphics.moveable; -import de.thdeg.berl.ufofight.gameview.GameView; -import de.thdeg.berl.ufofight.graphics.base.GameObject; -import de.thdeg.berl.ufofight.graphics.base.MovingGameObject; -import de.thdeg.berl.ufofight.graphics.base.Position; +import de.thdeg.greiner.superpangworld.gameview.GameView; +import de.thdeg.greiner.superpangworld.graphics.base.GameObject; +import de.thdeg.greiner.superpangworld.graphics.base.MovingGameObject; +import de.thdeg.greiner.superpangworld.graphics.base.Position; import java.awt.*; diff --git a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/Harpoon.java b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/Harpoon.java index f926687..5d56aa1 100644 --- a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/Harpoon.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/Harpoon.java @@ -56,7 +56,6 @@ public class Harpoon extends CollidingGameObject implements MovingGameObject { @Override public void addToCanvas(){ gameView.addBlockImageToCanvas(HARPOON, getPosition().x, getPosition().y,size, rotation); - gameView.addRectangleToCanvas(hitBox.x, hitBox.y, hitBox.width, hitBox.height,1,false, Color.red); } /** diff --git a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/HexagonalBubble.java b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/HexagonalBubble.java index 5a54720..b026c4d 100644 --- a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/HexagonalBubble.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/HexagonalBubble.java @@ -44,7 +44,6 @@ public class HexagonalBubble extends Bubble { @Override public void addToCanvas() { gameView.addImageToCanvas("hexagon.png",position.x,position.y,size,rotation); - gameView.addRectangleToCanvas(hitBox.x, hitBox.y, hitBox.width, hitBox.height,1,false, Color.red); } @Override diff --git a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/Player.java b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/Player.java index 8dcaeb5..fa874a0 100644 --- a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/Player.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/Player.java @@ -73,7 +73,6 @@ public class Player extends CollidableGameObject { gameView.addBlockImageToCanvas(SPIELFIGUR, position.x, position.y, size, rotation); } shooting = false; - gameView.addRectangleToCanvas(hitBox.x, hitBox.y, hitBox.width, hitBox.height,1,false, Color.red); } @Override diff --git a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/RandomBall.java b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/RandomBall.java index 76c5110..ef7c73b 100644 --- a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/RandomBall.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/RandomBall.java @@ -1,9 +1,9 @@ -package de.thdeg.berl.ufofight.graphics.movingobjects; +package de.thdeg.greiner.superpangworld.graphics.moveable; -import de.thdeg.berl.ufofight.gameview.GameView; -import de.thdeg.berl.ufofight.graphics.base.GameObject; -import de.thdeg.berl.ufofight.graphics.base.MovingGameObject; -import de.thdeg.berl.ufofight.graphics.base.Position; +import de.thdeg.greiner.superpangworld.gameview.GameView; +import de.thdeg.greiner.superpangworld.graphics.base.GameObject; +import de.thdeg.greiner.superpangworld.graphics.base.MovingGameObject; +import de.thdeg.greiner.superpangworld.graphics.base.Position; import java.awt.*; import java.util.Random; diff --git a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/RoundBubble.java b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/RoundBubble.java index 7f200ce..1cff0f7 100644 --- a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/RoundBubble.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/RoundBubble.java @@ -57,7 +57,6 @@ public class RoundBubble extends Bubble { @Override public void addToCanvas(){ gameView.addBlockImageToCanvas(RED_BUBBLE, getPosition().x, getPosition().y,size, rotation); - gameView.addRectangleToCanvas(hitBox.x, hitBox.y, hitBox.width, hitBox.height,1,false, Color.yellow); } @Override diff --git a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/SpecialBubble.java b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/SpecialBubble.java index 7349b68..57e726d 100644 --- a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/SpecialBubble.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/SpecialBubble.java @@ -57,7 +57,6 @@ public class SpecialBubble extends Bubble { @Override public void addToCanvas() { gameView.addBlockImageToCanvas(GREEN_BUBBLE,position.x,position.y,size, rotation); - gameView.addRectangleToCanvas(hitBox.x, hitBox.y, hitBox.width, hitBox.height,1,false, Color.red); } @Override diff --git a/out/artifacts/Programmieren_2_jar/Programmieren 2.jar b/out/artifacts/Programmieren_2_jar/Programmieren 2.jar index ce63d0b..e70bcc4 100644 Binary files a/out/artifacts/Programmieren_2_jar/Programmieren 2.jar and b/out/artifacts/Programmieren_2_jar/Programmieren 2.jar differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/managers/GameObjectManager.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/managers/GameObjectManager.class index da94d60..89bce7b 100644 Binary files a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/managers/GameObjectManager.class and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/managers/GameObjectManager.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/base/Bubble.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/base/Bubble.class index ad0acb8..fb98b0b 100644 Binary files a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/base/Bubble.class and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/base/Bubble.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/base/CollidableGameObject.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/base/CollidableGameObject.class index 3c5f096..d386599 100644 Binary files a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/base/CollidableGameObject.class and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/base/CollidableGameObject.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/base/GameObject.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/base/GameObject.class index 699eb4b..90a61c2 100644 Binary files a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/base/GameObject.class and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/base/GameObject.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/base/Position.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/base/Position.class index 9ba316b..d6da8bc 100644 Binary files a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/base/Position.class and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/base/Position.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/immovable/LevelLabel.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/immovable/LevelLabel.class index 174ed56..32141a2 100644 Binary files a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/immovable/LevelLabel.class and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/immovable/LevelLabel.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/immovable/LevelProgressBar.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/immovable/LevelProgressBar.class index 8942f58..b5e4994 100644 Binary files a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/immovable/LevelProgressBar.class and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/immovable/LevelProgressBar.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/FollowerBall$1.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/FollowerBall$1.class new file mode 100644 index 0000000..419e2fe Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/FollowerBall$1.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/FollowerBall$Status.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/FollowerBall$Status.class new file mode 100644 index 0000000..74854b1 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/FollowerBall$Status.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/FollowerBall.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/FollowerBall.class new file mode 100644 index 0000000..610dafc Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/FollowerBall.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/Harpoon.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/Harpoon.class index fde0416..77cbd44 100644 Binary files a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/Harpoon.class and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/Harpoon.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/HexagonalBubble.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/HexagonalBubble.class index 0c3b3b0..82fc16d 100644 Binary files a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/HexagonalBubble.class and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/HexagonalBubble.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/Player.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/Player.class index b264cdd..82c534c 100644 Binary files a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/Player.class and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/Player.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/RandomBall.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/RandomBall.class new file mode 100644 index 0000000..bb2c23e Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/RandomBall.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/RoundBubble.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/RoundBubble.class index 2e7454f..f2dc6c7 100644 Binary files a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/RoundBubble.class and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/RoundBubble.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/SpecialBubble$Status.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/SpecialBubble$Status.class new file mode 100644 index 0000000..7753b9f Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/SpecialBubble$Status.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/SpecialBubble.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/SpecialBubble.class index 9523ed2..fb555f4 100644 Binary files a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/SpecialBubble.class and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/SpecialBubble.class differ