diff --git a/.idea/artifacts/Programmieren_2_jar.xml b/.idea/artifacts/Programmieren_2_jar.xml new file mode 100644 index 0000000..889daac --- /dev/null +++ b/.idea/artifacts/Programmieren_2_jar.xml @@ -0,0 +1,10 @@ + + + $PROJECT_DIR$/out/artifacts/Programmieren_2_jar + + + + + + + \ No newline at end of file diff --git a/SuperPangWorld/src/META-INF/MANIFEST.MF b/SuperPangWorld/src/META-INF/MANIFEST.MF new file mode 100644 index 0000000..f9ac34c --- /dev/null +++ b/SuperPangWorld/src/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Main-Class: de.thdeg.greiner.superpangworld.game.Start + diff --git a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/game/GameLoopManager.java b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/game/GameLoopManager.java new file mode 100644 index 0000000..b9c7fde --- /dev/null +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/game/GameLoopManager.java @@ -0,0 +1,51 @@ +package de.thdeg.greiner.superpangworld.game; + +import de.thdeg.greiner.superpangworld.objects.Bubble; +import de.thdeg.greiner.superpangworld.objects.Harpoon; +import de.thdeg.greiner.superpangworld.objects.LevelLabel; +import de.thdeg.greiner.superpangworld.objects.LevelProgressBar; + +import java.awt.*; + +/** Der Manager zur Verwaltung der Spielschleife. */ +public class GameLoopManager { + + private GameView gameView; + private Bubble bubble; + private Harpoon harpoon; + + private LevelProgressBar levelProgressBar; + private LevelLabel levelLabel; + + /** Erzeugt den GameLoopManager mit Standardwerten. */ + public GameLoopManager() { + this.gameView = new GameView(); + this.gameView.setWindowTitle("Super Pang World"); + this.gameView.setStatusText("Andreas Greiner - Java Programmierung SS 2021"); + this.gameView.setWindowIcon("Target.png"); + + this.bubble = new Bubble(gameView); + this.harpoon = new Harpoon(gameView); + + this.levelProgressBar = new LevelProgressBar(gameView); + this.levelLabel = new LevelLabel(gameView); + + gameView.setColorForBlockImage('k',Color.LIGHT_GRAY); + } + + /** Startet das Spiel. */ + public void startGame() { + while(true){ + bubble.updatePosition(); + bubble.addToCanvas(); + harpoon.addToCanvas(); + + levelProgressBar.addToCanvas(); + levelLabel.addToCanvas(); + + gameView.printCanvas(); + } + } + + +} diff --git a/SuperPangWorld/src/superpangworld/GameView.java b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/game/GameView.java similarity index 99% rename from SuperPangWorld/src/superpangworld/GameView.java rename to SuperPangWorld/src/de/thdeg/greiner/superpangworld/game/GameView.java index 97656ce..e69d0ed 100644 --- a/SuperPangWorld/src/superpangworld/GameView.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/game/GameView.java @@ -1,4 +1,4 @@ -package view; +package de.thdeg.greiner.superpangworld.game; import javax.imageio.ImageIO; import javax.sound.sampled.*; diff --git a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/game/Start.java b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/game/Start.java new file mode 100644 index 0000000..6c86166 --- /dev/null +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/game/Start.java @@ -0,0 +1,13 @@ +package de.thdeg.greiner.superpangworld.game; + +import de.thdeg.greiner.superpangworld.game.GameLoopManager; + +/** + * Die Startklasse für das Spiel. + */ +public class Start { + public static void main(String[] args) { + GameLoopManager gameLoopManager = new GameLoopManager(); + gameLoopManager.startGame(); + } +} diff --git a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/objects/Bubble.java b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/objects/Bubble.java new file mode 100644 index 0000000..5e19b97 --- /dev/null +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/objects/Bubble.java @@ -0,0 +1,83 @@ +package de.thdeg.greiner.superpangworld.objects; + +import de.thdeg.greiner.superpangworld.game.GameView; + +import java.awt.*; + +/** + * A Bubble, which moves around on the screen and can be shot by the player. + */ +public class Bubble extends GameObject{ + + /** The pixel art for the bubble */ + private final static String BUBBLE = + " RRRR \n"+ + " RWRRRR \n"+ + " RWRRRRRR \n"+ + " RWRRRRRRRR \n"+ + "RWRRRRRRRRRR\n"+ + "RWRRRRRRRRRR\n"+ + "RWRRRRRRRRWR\n"+ + "RRRRRRRRRWWR\n"+ + " RRRRRRRWWR \n"+ + " RRRRRWWR \n"+ + " RRRWWR \n"+ + " RRRR \n"; + + /** Flag, if the bubble flies from left to right */ + private boolean flyFromLeftToRight; + + /** + * Create a bubble with default values. + * @param gameView the {@link GameView} to display the bubble + */ + public Bubble(GameView gameView){ + super(gameView); + rotation = 90; + size = 5; + width = (int) size * 12; + height = (int) size * 12; + speedInPixel = 5; + flyFromLeftToRight = true; + } + + /** + * Draws the bubble onto the canvas of the {@link GameView}. + */ + @Override + public void addToCanvas(){ + gameView.addBlockImageToCanvas(BUBBLE, getPosition().x, getPosition().y,size, rotation); + } + + @Override + public String toString() { + return "Bubble:" + getPosition().toString(); + } + + /** + * Moves the bubble a tick further. + */ + @Override + public void updatePosition(){ + if(flyFromLeftToRight && getPosition().x + width >= GameView.WIDTH){ + flyFromLeftToRight = false; + }else if (!flyFromLeftToRight && getPosition().x <= 0){ + flyFromLeftToRight = true; + } + if(flyFromLeftToRight){ + getPosition().right(1); + }else{ + getPosition().left(1); + } + } + + /** + * Pop the bubble. + */ + private void popBubble(){} + + /** + * Freezes the time. + */ + private void freezeTime(){} +} diff --git a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/objects/GameObject.java b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/objects/GameObject.java new file mode 100644 index 0000000..82b27ee --- /dev/null +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/objects/GameObject.java @@ -0,0 +1,55 @@ +package de.thdeg.greiner.superpangworld.objects; + +import de.thdeg.greiner.superpangworld.game.GameView; + +/** + * A basic game object. + */ +class GameObject { + + /** The game view to display the game object on. */ + protected final GameView gameView; + /** The position of the game object. */ + protected final Position position; + /** The size of the game object. */ + protected double size; + /** The speed in pixel per tick of the game object. */ + protected double speedInPixel; + /** The rotation of the game object. */ + protected double rotation; + /** The width of the game object. */ + protected int width; + /** The height of the game object. */ + protected int height; + + /** + * Create a game object with default values. + * @param gameView the gameView + */ + protected GameObject(GameView gameView){ + this.gameView = gameView; + position = new Position(0,0); + } + + /** + * Update the position of the game object. + */ + public void updatePosition(){ + + } + + /** + * Add the game object to the canvas. + */ + public void addToCanvas(){ + + } + + /** + * Get the position of the game object. + * @return the position + */ + public Position getPosition(){ + return position; + } +} diff --git a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/objects/Harpoon.java b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/objects/Harpoon.java new file mode 100644 index 0000000..24e895f --- /dev/null +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/objects/Harpoon.java @@ -0,0 +1,53 @@ +package de.thdeg.greiner.superpangworld.objects; + +import de.thdeg.greiner.superpangworld.game.GameView; + +import java.awt.*; + +/** + * A harpoon which can be fired upwards by the player. + */ +public class Harpoon extends GameObject{ + + private final static String HARPOON = + " B \n"+ + " BBB \n"+ + " kkkkk \n"+ + " k kkk k\n"+ + " k kkk k\n"; + + /** + * Create a harpoon with default values + * @param gameView the {@link GameView} to display the bubble + */ + public Harpoon(GameView gameView){ + super(gameView); + speedInPixel = 10; + size = 3; + width = (int) size * 11; + height =(int) size * 11; + rotation = 0; + getPosition().setTo(300,300); + } + + /** + * Zeichnet die Blase auf die {@link GameView}. + */ + @Override + public void addToCanvas(){ + gameView.addBlockImageToCanvas(HARPOON, getPosition().x, getPosition().y,size, rotation); + } + + @Override + public String toString() { + return "Harpoon:" +getPosition().toString(); + } + + /** + * Bewegt die Harpune einen Schritt weiter. + */ + @Override + public void updatePosition(){ + getPosition().up(speedInPixel); + } +} diff --git a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/objects/LevelLabel.java b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/objects/LevelLabel.java new file mode 100644 index 0000000..0b69a6d --- /dev/null +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/objects/LevelLabel.java @@ -0,0 +1,45 @@ +package de.thdeg.greiner.superpangworld.objects; + +import de.thdeg.greiner.superpangworld.game.GameView; + +import java.awt.*; + +/** + * The label to display the current level. + */ +public class LevelLabel extends GameObject{ + + /** The level to display */ + private int level; + + /** + * Create a progress bar with default values. + * @param gameView the {@link GameView} to display the progress bar + */ + public LevelLabel(GameView gameView){ + super(gameView); + size = 3; + width = (int) size * 101; + height = (int) size * 8; + level = 8; + getPosition().setTo(GameView.WIDTH/2 - (width/2),GameView.HEIGHT-height-60); + } + + /** + * Draws the level progress bar onto the canvas of the {@link GameView}. + */ + @Override + public void addToCanvas(){ + gameView.addTextToCanvas("Level "+level,getPosition().x,getPosition().y,40,Color.YELLOW,0); + } + + @Override + public void updatePosition() { + super.updatePosition(); + } + + @Override + public String toString() { + return "LevelLabel:" +getPosition().toString(); + } +} diff --git a/SuperPangWorld/src/superpangworld/LevelLabel.java b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/objects/LevelProgressBar.java similarity index 66% rename from SuperPangWorld/src/superpangworld/LevelLabel.java rename to SuperPangWorld/src/de/thdeg/greiner/superpangworld/objects/LevelProgressBar.java index 0e17223..a792597 100644 --- a/SuperPangWorld/src/superpangworld/LevelLabel.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/objects/LevelProgressBar.java @@ -1,24 +1,14 @@ -package superpangworld; +package de.thdeg.greiner.superpangworld.objects; + +import de.thdeg.greiner.superpangworld.game.GameView; import java.awt.*; /** * The progress bar of a level. */ -public class LevelProgressBar { +public class LevelProgressBar extends GameObject{ - /** The position of the progress bar */ - private Position position; - /** The color of the progress bar */ - private final Color color; - /** The size of the progress bar */ - private final double size; - /** The width of the progress bar */ - private final double width; - /** The height of the progress bar */ - private final double height; - /** The GameView to display the progress bar*/ - private final GameView gameView; /** The progress of the level ranging from 0 to 100 */ private int levelProgress; /** The top and bottom border of the progress bar */ @@ -29,30 +19,35 @@ public class LevelProgressBar { * @param gameView the {@link GameView} to display the progress bar */ public LevelProgressBar(GameView gameView){ - color = Color.BLUE; + super(gameView); size = 3; - width = size * 101; - height = size * 8; + width = (int) size * 101; + height = (int) size * 8; levelProgress = 30; - this.gameView = gameView; - position = new Position(GameView.WIDTH/2 - (width/2),GameView.HEIGHT-height); + getPosition().setTo(GameView.WIDTH/2 - (width/2),GameView.HEIGHT-height); } /** * Draws the level progress bar onto the canvas of the {@link GameView}. */ + @Override public void addToCanvas(){ String pixelArt = PROGRESS_BAR_BORDER; String progressBarMiddle = getProgressBarMiddle(levelProgress); pixelArt += progressBarMiddle.repeat(6); pixelArt += PROGRESS_BAR_BORDER; - gameView.addBlockImageToCanvas(pixelArt, position.x, position.y,size, 0); + gameView.addBlockImageToCanvas(pixelArt, getPosition().x, getPosition().y,size, 0); + } + + @Override + public void updatePosition() { + super.updatePosition(); } @Override public String toString() { - return "Harpoon:" +position.toString(); + return "LevelProgressBar:" +getPosition().toString(); } /** diff --git a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/objects/Position.java b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/objects/Position.java new file mode 100644 index 0000000..cc61728 --- /dev/null +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/objects/Position.java @@ -0,0 +1,106 @@ +package de.thdeg.greiner.superpangworld.objects; + +/** + * Die Position eines Objekts auf einem Fenster anhand zweidimensionaler Koordinaten. + */ +public class Position { + + /** Die x-Koordinate */ + public double x; + /** Die y-Koordinate */ + public double y; + + /** + * Erzeugt eine Position mit den übergebenen Koordinaten. + * + * @param x die x-Koordinate des Objekts + * @param y die y-Koordinate des Objekts + */ + public Position(double x, double y) { + this.x = x; + this.y = y; + } + + /** + * Erzeugt eine Standardposition für die Koordinaten (0, 0). + */ + public Position(){ + this(0,0); + } + + /** + * Veränderung der Position um einen Pixel nach links. + */ + public void left() { + x--; + } + + /** + * Veränderung der Position nach links. + * @param pixel die Anzahl der Pixel + */ + public void left(double pixel){ + x -= pixel; + } + + /** + * Veränderung der Position um einen Pixel nach rechts. + */ + public void right() { + x++; + } + + /** + * Veränderung der Position nach rechts. + * @param pixel die Anzahl der Pixel + */ + public void right(double pixel){ + x += pixel; + } + + /** + * Veränderung der Position um einen Pixel nach oben. + */ + public void up() { + y--; + } + + /** + * Veränderung der Position nach oben. + * @param pixel die Anzahl der Pixel + */ + public void up(double pixel){ + y -= pixel; + } + + /** + * Veränderung der Position um einen Pixel nach unten. + */ + public void down() { + y++; + } + + /** + * Veränderung der Position nach unten. + * @param pixel die Anzahl der Pixel + */ + public void down(double pixel){ + y += pixel; + } + + /** + * Set the position to given x and y coordinates. + * @param x the x coordinate + * @param y the y coordinate + */ + public void setTo(double x, double y){ + this.x = x; + this.y = y; + } + + @Override + public String toString() { + return "Position(" + (int) Math.round(x) + ", " + (int) Math.round(y) + ')'; + } + +} diff --git a/SuperPangWorld/src/superpangworld/Bubble.java b/SuperPangWorld/src/superpangworld/Bubble.java deleted file mode 100644 index 5003f14..0000000 --- a/SuperPangWorld/src/superpangworld/Bubble.java +++ /dev/null @@ -1,2 +0,0 @@ -package superpangworld;public class Bubble { -} diff --git a/SuperPangWorld/src/superpangworld/GameLoopManager.java b/SuperPangWorld/src/superpangworld/GameLoopManager.java deleted file mode 100644 index 4883324..0000000 --- a/SuperPangWorld/src/superpangworld/GameLoopManager.java +++ /dev/null @@ -1,2 +0,0 @@ -package superpangworld;public class GameLoopManager { -} diff --git a/SuperPangWorld/src/superpangworld/Harpoon.java b/SuperPangWorld/src/superpangworld/Harpoon.java deleted file mode 100644 index 86220d6..0000000 --- a/SuperPangWorld/src/superpangworld/Harpoon.java +++ /dev/null @@ -1,2 +0,0 @@ -package superpangworld;public class Harpoon { -} diff --git a/SuperPangWorld/src/superpangworld/LevelProgressBar.java b/SuperPangWorld/src/superpangworld/LevelProgressBar.java deleted file mode 100644 index 35f9409..0000000 --- a/SuperPangWorld/src/superpangworld/LevelProgressBar.java +++ /dev/null @@ -1,68 +0,0 @@ -package superpangworld; - -import java.awt.*; - -/** - * The progress of a level. - */ -public class LevelProgress { - - private final static String HARPOON = - " B \n"+ - " BBB \n"+ - " kkkkk \n"+ - " k kkk k\n"+ - " k kkk k\n"; - - /** The position of the harpoon */ - private Position position; - /** The speed of the harpune in pixel per tick */ - private final double speedInPixel; - /** The color of the harpoon */ - private final Color color; - /** The size of the harpoon */ - private final double size; - /** The rotation of the harpoon */ - private final double rotation; - /** The width of the harpoon */ - private final double width; - /** The height of the harpoon */ - private final double height; - /** The GameView to display the harpoon*/ - private final GameView gameView; - - /** - * Create a harpoon with default values - * @param gameView the {@link GameView} to display the bubble - */ - public LevelProgress(GameView gameView){ - color = Color.BLUE; - position = new Position(300,300); - speedInPixel = 10; - size = 3; - width = size * 11; - height = size * 11; - rotation = 0; - - this.gameView = gameView; - } - - /** - * Zeichnet die Blase auf die {@link GameView}. - */ - public void addToCanvas(){ - gameView.addBlockImageToCanvas(HARPOON, position.x, position.y,size, rotation); - } - - @Override - public String toString() { - return "Harpoon:" +position.toString(); - } - - /** - * Bewegt die Harpune einen Schritt weiter. - */ - public void updatePosition(){ - position.up(speedInPixel); - } -} diff --git a/SuperPangWorld/src/superpangworld/Position.java b/SuperPangWorld/src/superpangworld/Position.java deleted file mode 100644 index 2695d75..0000000 --- a/SuperPangWorld/src/superpangworld/Position.java +++ /dev/null @@ -1,57 +0,0 @@ -package superpangworld; - -/** - * Die Position eines Objekts auf einem Fenster anhand zweidimensoinaler Koordinaten - */ -public class Position { - - /** Die x-Koordinate */ - public double x; - /** Die y-Koordinate */ - public double y; - - /** - * Erzeugt eine Position mit den übergebenen Koordinaten - * - * @param x die x-Koordinate des Objekts - * @param y die y-Koordinate des Objekts - */ - public Position(double x, double y) { - this.x = x; - this.y = y; - } - - /** - * Veränderung der Position um einen Pixel nach links - */ - public void left() { - x--; - } - - /** - * Veränderung der Position um einen Pixel nach rechts - */ - public void right() { - x++; - } - - /** - * Veränderung der Position um einen Pixel nach oben - */ - public void up() { - y--; - } - - /** - * Veränderung der Position um einen Pixel nach unten - */ - public void down() { - y++; - } - - @Override - public String toString() { - return "Position(" + (int) Math.round(x) + ", " + (int) Math.round(y) + ')'; - } - -} diff --git a/SuperPangWorld/src/superpangworld/Start.java b/SuperPangWorld/src/superpangworld/Start.java deleted file mode 100644 index 813e48b..0000000 --- a/SuperPangWorld/src/superpangworld/Start.java +++ /dev/null @@ -1,16 +0,0 @@ -package superpangworld; - -public class Start { - public static void main(String[] args) { - System.out.println("Spiel"); - - Position pos1 = new Position(100, 110); - Position pos2 = new Position(200, 300); - - pos2.down(); - pos2.right(); - - System.out.println(pos1); - System.out.println(pos2); - } -} diff --git a/out/artifacts/Programmieren_2_jar/Programmieren 2.jar b/out/artifacts/Programmieren_2_jar/Programmieren 2.jar new file mode 100644 index 0000000..d77d84d Binary files /dev/null and b/out/artifacts/Programmieren_2_jar/Programmieren 2.jar differ diff --git a/out/production/SuperPangWorld/META-INF/MANIFEST.MF b/out/production/SuperPangWorld/META-INF/MANIFEST.MF new file mode 100644 index 0000000..f9ac34c --- /dev/null +++ b/out/production/SuperPangWorld/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Main-Class: de.thdeg.greiner.superpangworld.game.Start + diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameLoopManager.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameLoopManager.class new file mode 100644 index 0000000..d5a3bca Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameLoopManager.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Canvas.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Canvas.class new file mode 100644 index 0000000..0b41944 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Canvas.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$EndScreen.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$EndScreen.class new file mode 100644 index 0000000..a5db17b Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$EndScreen.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Frame$1.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Frame$1.class new file mode 100644 index 0000000..4b8f1dc Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Frame$1.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Frame$2.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Frame$2.class new file mode 100644 index 0000000..d816b8a Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Frame$2.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Frame$3.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Frame$3.class new file mode 100644 index 0000000..cd9e69a Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Frame$3.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Frame$4.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Frame$4.class new file mode 100644 index 0000000..96abb48 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Frame$4.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Frame.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Frame.class new file mode 100644 index 0000000..0c802e3 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Frame.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$GameTime.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$GameTime.class new file mode 100644 index 0000000..87b059a Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$GameTime.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$ImageObject.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$ImageObject.class new file mode 100644 index 0000000..8432f79 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$ImageObject.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Keyboard.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Keyboard.class new file mode 100644 index 0000000..fc2ebe2 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Keyboard.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Line.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Line.class new file mode 100644 index 0000000..00cc5ad Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Line.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Mouse.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Mouse.class new file mode 100644 index 0000000..f37e5ea Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Mouse.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Oval.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Oval.class new file mode 100644 index 0000000..f8d9faf Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Oval.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$PaintingPanel.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$PaintingPanel.class new file mode 100644 index 0000000..49a5a56 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$PaintingPanel.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$PolyLine.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$PolyLine.class new file mode 100644 index 0000000..4169b49 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$PolyLine.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Polygon.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Polygon.class new file mode 100644 index 0000000..cd498c3 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Polygon.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$PrintObject.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$PrintObject.class new file mode 100644 index 0000000..6d241ce Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$PrintObject.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Rectangle.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Rectangle.class new file mode 100644 index 0000000..0801a1d Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Rectangle.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Screen.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Screen.class new file mode 100644 index 0000000..6b8040f Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Screen.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$SelectionManager.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$SelectionManager.class new file mode 100644 index 0000000..df63002 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$SelectionManager.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$SimpleBox.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$SimpleBox.class new file mode 100644 index 0000000..9487d9f Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$SimpleBox.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$SimpleStartScreen.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$SimpleStartScreen.class new file mode 100644 index 0000000..adb19a5 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$SimpleStartScreen.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Sound.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Sound.class new file mode 100644 index 0000000..64cb867 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Sound.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$StartScreenWithChooseBox$SelectionBox.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$StartScreenWithChooseBox$SelectionBox.class new file mode 100644 index 0000000..068026a Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$StartScreenWithChooseBox$SelectionBox.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$StartScreenWithChooseBox.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$StartScreenWithChooseBox.class new file mode 100644 index 0000000..5d0ffb5 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$StartScreenWithChooseBox.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$SwingAdapter.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$SwingAdapter.class new file mode 100644 index 0000000..8f89387 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$SwingAdapter.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Version.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Version.class new file mode 100644 index 0000000..4ffb4a0 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Version.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Window.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Window.class new file mode 100644 index 0000000..d2a53a0 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView$Window.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView.class new file mode 100644 index 0000000..4f65a5f Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/GameView.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/Start.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/Start.class new file mode 100644 index 0000000..149cdae Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/game/Start.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/objects/Bubble.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/objects/Bubble.class new file mode 100644 index 0000000..1333e9c Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/objects/Bubble.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/objects/GameObject.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/objects/GameObject.class new file mode 100644 index 0000000..0f23bf8 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/objects/GameObject.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/objects/Harpoon.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/objects/Harpoon.class new file mode 100644 index 0000000..6051830 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/objects/Harpoon.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/objects/LevelLabel.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/objects/LevelLabel.class new file mode 100644 index 0000000..ca53dd7 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/objects/LevelLabel.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/objects/LevelProgressBar.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/objects/LevelProgressBar.class new file mode 100644 index 0000000..dbcc8f4 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/objects/LevelProgressBar.class differ diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/objects/Position.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/objects/Position.class new file mode 100644 index 0000000..0b3ad90 Binary files /dev/null and b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/objects/Position.class differ diff --git a/out/production/SuperPangWorld/resources/Herz.png b/out/production/SuperPangWorld/resources/Herz.png new file mode 100644 index 0000000..dc04122 Binary files /dev/null and b/out/production/SuperPangWorld/resources/Herz.png differ diff --git a/out/production/SuperPangWorld/resources/Player.png b/out/production/SuperPangWorld/resources/Player.png new file mode 100644 index 0000000..0f0154c Binary files /dev/null and b/out/production/SuperPangWorld/resources/Player.png differ diff --git a/out/production/SuperPangWorld/resources/Target.png b/out/production/SuperPangWorld/resources/Target.png new file mode 100644 index 0000000..b8d072e Binary files /dev/null and b/out/production/SuperPangWorld/resources/Target.png differ diff --git a/out/production/SuperPangWorld/superpangworld/Position.class b/out/production/SuperPangWorld/superpangworld/Position.class deleted file mode 100644 index bf5bf77..0000000 Binary files a/out/production/SuperPangWorld/superpangworld/Position.class and /dev/null differ diff --git a/out/production/SuperPangWorld/superpangworld/Start.class b/out/production/SuperPangWorld/superpangworld/Start.class deleted file mode 100644 index 65013b4..0000000 Binary files a/out/production/SuperPangWorld/superpangworld/Start.class and /dev/null differ