diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..957acb2 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +./out/production \ No newline at end of file diff --git a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/game/managers/GameLoopManager.java b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/game/managers/GameLoopManager.java index f5b1968..8cb87d3 100644 --- a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/game/managers/GameLoopManager.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/game/managers/GameLoopManager.java @@ -14,8 +14,8 @@ public class GameLoopManager { */ public GameLoopManager() { this.gameView = new GameView(); - this.gameView.setWindowTitle("UFO-Fight"); - this.gameView.setStatusText("Andreas Berl - Java Programmierung SS 2021"); + this.gameView.setWindowTitle("Super Pang World"); + this.gameView.setStatusText("Andreas Greiner - Java Programmierung SS 2021"); this.gameView.setWindowIcon("Target.png"); this.gameObjectManager = new GameObjectManager(gameView); this.inputManager = new InputManager(gameView, gameObjectManager.getPlayer()); 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 6d1241b..496f078 100644 --- a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/game/managers/GameObjectManager.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/game/managers/GameObjectManager.java @@ -17,9 +17,9 @@ class GameObjectManager { /** The GameView to display the objects */ private GameView gameView; - /** The game objects */ private LinkedList bubbles; private LinkedList harpoons; + private LevelProgressBar levelProgressBar; private LevelLabel levelLabel; private ScoreLabel scoreLabel; @@ -41,22 +41,13 @@ class GameObjectManager { harpoons = new LinkedList<>(); gameObjects = new LinkedList<>(); - bubbles.add(new RoundBubble(gameView)); - bubbles.add(new HexagonalBubble(gameView)); - bubbles.add(new SpecialBubble(gameView)); - - harpoons.add(new Harpoon(gameView)); - this.levelProgressBar = new LevelProgressBar(gameView); this.levelLabel = new LevelLabel(gameView); this.scoreLabel = new ScoreLabel(gameView); - this.livesIcon = new LivesIcon(gameView); - this.background = new Background(gameView); this.player = new Player(gameView); - } /** diff --git a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/game/managers/GamePlayManager.java b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/game/managers/GamePlayManager.java index 08894b1..942f858 100644 --- a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/game/managers/GamePlayManager.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/game/managers/GamePlayManager.java @@ -1,6 +1,13 @@ package de.thdeg.greiner.superpangworld.game.managers; import de.thdeg.greiner.superpangworld.gameview.GameView; +import de.thdeg.greiner.superpangworld.graphics.base.Position; +import de.thdeg.greiner.superpangworld.graphics.moveable.Harpoon; +import de.thdeg.greiner.superpangworld.graphics.moveable.HexagonalBubble; +import de.thdeg.greiner.superpangworld.graphics.moveable.RoundBubble; +import de.thdeg.greiner.superpangworld.graphics.moveable.SpecialBubble; + +import java.util.Random; /** * The manager which handles the gameplay. @@ -11,6 +18,10 @@ public class GamePlayManager { private GameView gameView; /** The manager, which handles the game objects */ private GameObjectManager gameObjectManager; + /** Flag, if the gameobjects were already deleted once */ + private boolean listHasBeenDeleted = false; + /** Generator for random values */ + private Random random; /** * Create the manager handling the gameplay. @@ -20,12 +31,68 @@ public class GamePlayManager { public GamePlayManager(GameView gameView, GameObjectManager gameObjectManager) { this.gameView = gameView; this.gameObjectManager = gameObjectManager; + this.random = new Random(); + gameObjectManager.getPlayer().setGamePlayManager(this); } /** * Handle the gameplay. */ public void updateGamePlay(){ + spawnAndDestroyBubbles(); + } + + /** + * Spawn and destory bubbles. + */ + private void spawnAndDestroyBubbles(){ + // Spawn a bubble every second + if(gameView.timerExpired("SpawnBubble","GamePlayManager")){ + addRandomBubble(); + gameView.setTimer("SpawnBubble","GamePlayManager",1000); + } + // Remove a bubble every 5 seconds + if(!gameObjectManager.getBubbles().isEmpty() && gameView.timerExpired("DestroyBubble","GamePlayManager")){ + gameObjectManager.getBubbles().remove(random.nextInt(gameObjectManager.getBubbles().size())); + gameView.setTimer("DestroyBubble","GamePlayManager",5000); + } + // Delete all bubbles after 10 seconds of playing + if(!listHasBeenDeleted && gameView.getGameTimeInMilliseconds()>=10000){ + gameObjectManager.getBubbles().clear(); + listHasBeenDeleted = true; + } + } + + /** + * Adds a random bubble to the game. Percentages: + * - 60% normal bubble + * - 30% hexagonal bubble + * - 10% special bubble + */ + private void addRandomBubble(){ + int randomNumber = random.nextInt(100); + if(randomNumber<60){ + gameObjectManager.getBubbles().add(new RoundBubble(gameView)); + }else if(randomNumber<90){ + gameObjectManager.getBubbles().add(new HexagonalBubble(gameView)); + }else{ + gameObjectManager.getBubbles().add(new SpecialBubble(gameView)); + } + } + + public void shootHarpoon(Position startPosition){ + if(gameView.timerExpired("ShootHarpoon","GamePlayManager")){ + Harpoon harpoon = new Harpoon(gameView); + harpoon.getPosition().setTo(startPosition.x, startPosition.y); + harpoon.setGamePlayManager(this); + gameObjectManager.getHarpoons().add(harpoon); + gameView.setTimer("ShootHarpoon","GamePlayManager",300); + } + } + + public void destroy(Harpoon harpoon){ + gameObjectManager.getHarpoons().remove(harpoon); + } } 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 b9f1972..c7703d7 100644 --- a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/Harpoon.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/Harpoon.java @@ -31,7 +31,7 @@ public class Harpoon extends GameObject { } /** - * Zeichnet die Blase auf die {@link GameView}. + * Draws the harpoon onto the {@link GameView}. */ @Override public void addToCanvas(){ @@ -44,13 +44,20 @@ public class Harpoon extends GameObject { } /** - * Bewegt die Harpune einen Schritt weiter. + * Moves the harpoon a tick further upwards. */ @Override public void updatePosition(){ getPosition().up(speedInPixel); - if(getPosition().y < 0){ - getPosition().setTo(300,300); + } + + /** + * Deletes the harpoon if it hits the roof. + */ + @Override + public void updateStatus() { + if(position.y <=0 ){ + gamePlayManager.destroy(this); } } } 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 0b2ee12..77dfe76 100644 --- a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/HexagonalBubble.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/HexagonalBubble.java @@ -3,6 +3,8 @@ package de.thdeg.greiner.superpangworld.graphics.moveable; import de.thdeg.greiner.superpangworld.gameview.GameView; import de.thdeg.greiner.superpangworld.graphics.base.Bubble; +import java.util.Random; + /** * The rare hexagonal bubble. */ @@ -15,7 +17,10 @@ public class HexagonalBubble extends Bubble { */ public HexagonalBubble(GameView gameView) { super(gameView); - position.setTo(100,200); + + Random rand = new Random(); + position.setTo(rand.nextInt(GameView.WIDTH),rand.nextInt(GameView.HEIGHT)); + size=0.6; speedInPixel = 2; } 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 a5c7d11..aac3f6d 100644 --- a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/Player.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/Player.java @@ -82,5 +82,6 @@ public class Player extends GameObject { /** Lets the character shoot */ public void shoot(){ shooting = true; + gamePlayManager.shootHarpoon(this.position); } } 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 6c0427c..e4bf408 100644 --- a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/RoundBubble.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/RoundBubble.java @@ -3,6 +3,8 @@ package de.thdeg.greiner.superpangworld.graphics.moveable; import de.thdeg.greiner.superpangworld.gameview.GameView; import de.thdeg.greiner.superpangworld.graphics.base.Bubble; +import java.util.Random; + /** * The classic red, round bubble. @@ -31,6 +33,9 @@ public class RoundBubble extends Bubble { */ public RoundBubble(GameView gameView) { super(gameView); + + Random rand = new Random(); + position.setTo(rand.nextInt(GameView.WIDTH),rand.nextInt(GameView.HEIGHT)); } /** 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 044f1e7..c65b71f 100644 --- a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/SpecialBubble.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/SpecialBubble.java @@ -3,6 +3,8 @@ package de.thdeg.greiner.superpangworld.graphics.moveable; import de.thdeg.greiner.superpangworld.gameview.GameView; import de.thdeg.greiner.superpangworld.graphics.base.Bubble; +import java.util.Random; + /** * The green bubble with special abilities. */ @@ -30,7 +32,9 @@ public class SpecialBubble extends Bubble { */ public SpecialBubble(GameView gameView) { super(gameView); - position.setTo(100, 100); + + Random rand = new Random(); + position.setTo(rand.nextInt(GameView.WIDTH),rand.nextInt(GameView.HEIGHT)); } @Override diff --git a/out/artifacts/Programmieren_2_jar/Programmieren 2.jar b/out/artifacts/Programmieren_2_jar/Programmieren 2.jar index c429177..62c0962 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/bin/Start.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/bin/Start.class new file mode 100644 index 0000000..c575ad6 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/bin/Start.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/managers/GameLoopManager.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/managers/GameLoopManager.class new file mode 100644 index 0000000..5263f7b Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/managers/GameLoopManager.class 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 new file mode 100644 index 0000000..b48018b Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/managers/GameObjectManager.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/managers/GamePlayManager.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/managers/GamePlayManager.class new file mode 100644 index 0000000..d34041b Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/managers/GamePlayManager.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/managers/InputManager.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/managers/InputManager.class new file mode 100644 index 0000000..0381933 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/managers/InputManager.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Canvas.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Canvas.class new file mode 100644 index 0000000..21cdc21 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Canvas.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$EndScreen.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$EndScreen.class new file mode 100644 index 0000000..9ede15e Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$EndScreen.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Frame$1.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Frame$1.class new file mode 100644 index 0000000..ea43764 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Frame$1.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Frame$2.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Frame$2.class new file mode 100644 index 0000000..4731ccb Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Frame$2.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Frame$3.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Frame$3.class new file mode 100644 index 0000000..6f1427f Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Frame$3.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Frame$4.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Frame$4.class new file mode 100644 index 0000000..ca022c7 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Frame$4.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Frame.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Frame.class new file mode 100644 index 0000000..7cc73e4 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Frame.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$GameTime.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$GameTime.class new file mode 100644 index 0000000..0c6243e Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$GameTime.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$ImageObject.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$ImageObject.class new file mode 100644 index 0000000..f9678dd Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$ImageObject.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Keyboard.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Keyboard.class new file mode 100644 index 0000000..840ea39 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Keyboard.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Line.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Line.class new file mode 100644 index 0000000..0432899 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Line.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Mouse.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Mouse.class new file mode 100644 index 0000000..ea38fcc Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Mouse.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Oval.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Oval.class new file mode 100644 index 0000000..1bcd999 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Oval.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$PaintingPanel.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$PaintingPanel.class new file mode 100644 index 0000000..3955117 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$PaintingPanel.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$PolyLine.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$PolyLine.class new file mode 100644 index 0000000..e204715 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$PolyLine.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Polygon.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Polygon.class new file mode 100644 index 0000000..6c4a8fb Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Polygon.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$PrintObject.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$PrintObject.class new file mode 100644 index 0000000..865ff08 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$PrintObject.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Rectangle.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Rectangle.class new file mode 100644 index 0000000..84edf60 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Rectangle.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Screen.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Screen.class new file mode 100644 index 0000000..8776402 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Screen.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$SelectionManager.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$SelectionManager.class new file mode 100644 index 0000000..a98d93d Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$SelectionManager.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$SimpleBox.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$SimpleBox.class new file mode 100644 index 0000000..5846059 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$SimpleBox.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$SimpleStartScreen.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$SimpleStartScreen.class new file mode 100644 index 0000000..44e4788 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$SimpleStartScreen.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Sound.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Sound.class new file mode 100644 index 0000000..90d2b34 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Sound.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$StartScreenWithChooseBox$SelectionBox.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$StartScreenWithChooseBox$SelectionBox.class new file mode 100644 index 0000000..efb97b7 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$StartScreenWithChooseBox$SelectionBox.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$StartScreenWithChooseBox.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$StartScreenWithChooseBox.class new file mode 100644 index 0000000..6a79eeb Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$StartScreenWithChooseBox.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$SwingAdapter.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$SwingAdapter.class new file mode 100644 index 0000000..7d5ff88 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$SwingAdapter.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Version.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Version.class new file mode 100644 index 0000000..5739982 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Version.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Window.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Window.class new file mode 100644 index 0000000..bd81144 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView$Window.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView.class new file mode 100644 index 0000000..4ec43b4 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/gameview/GameView.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 new file mode 100644 index 0000000..b77eb99 Binary files /dev/null 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/GameObject.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/base/GameObject.class new file mode 100644 index 0000000..00f7b60 Binary files /dev/null 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 new file mode 100644 index 0000000..9ba316b Binary files /dev/null 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/Background.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/immovable/Background.class new file mode 100644 index 0000000..d86c7b9 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/immovable/Background.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 new file mode 100644 index 0000000..4ac1421 Binary files /dev/null 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 new file mode 100644 index 0000000..aa4b953 Binary files /dev/null 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/immovable/LivesIcon.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/immovable/LivesIcon.class new file mode 100644 index 0000000..d72cf90 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/immovable/LivesIcon.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/immovable/ScoreLabel.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/immovable/ScoreLabel.class new file mode 100644 index 0000000..482da89 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/immovable/ScoreLabel.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 new file mode 100644 index 0000000..4d7710d Binary files /dev/null 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 new file mode 100644 index 0000000..5dca117 Binary files /dev/null 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 new file mode 100644 index 0000000..b49ac9a Binary files /dev/null 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/RoundBubble.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/RoundBubble.class new file mode 100644 index 0000000..d364670 Binary files /dev/null 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.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/SpecialBubble.class new file mode 100644 index 0000000..fd90ee1 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/moveable/SpecialBubble.class differ diff --git a/out/production/SuperPangWorld/resources/hexagon.png b/out/production/SuperPangWorld/resources/hexagon.png new file mode 100644 index 0000000..ed3a2f7 Binary files /dev/null and b/out/production/SuperPangWorld/resources/hexagon.png differ