From f0d73b7cf049af05502d85da69a38ec38e3ae16e Mon Sep 17 00:00:00 2001 From: agreiner Date: Sat, 1 May 2021 14:00:26 +0200 Subject: [PATCH] Aufgaben 7 --- .../game/managers/GameObjectManager.java | 4 ++-- .../game/managers/GamePlayManager.java | 2 +- .../superpangworld/graphics/base/Bubble.java | 2 +- .../graphics/base/GameObject.java | 21 +++++++++--------- .../graphics/base/MovingGameObject.java | 13 +++++++++++ .../graphics/immovable/Background.java | 5 +++++ .../graphics/immovable/LevelLabel.java | 4 ++-- .../graphics/immovable/LevelProgressBar.java | 4 ++-- .../graphics/immovable/LivesIcon.java | 5 +++++ .../graphics/immovable/ScoreLabel.java | 4 ++-- .../graphics/moveable/Harpoon.java | 3 ++- .../graphics/moveable/HexagonalBubble.java | 5 +++++ .../graphics/moveable/Player.java | 11 ++++----- .../graphics/moveable/RoundBubble.java | 5 +++++ .../graphics/moveable/SpecialBubble.java | 5 +++++ .../Programmieren_2_jar/Programmieren 2.jar | Bin 83188 -> 83740 bytes .../game/managers/GameObjectManager.class | Bin 4117 -> 4076 bytes .../game/managers/GamePlayManager.class | Bin 3545 -> 3545 bytes .../superpangworld/graphics/base/Bubble.class | Bin 1934 -> 2004 bytes .../graphics/base/GameObject.class | Bin 1412 -> 1468 bytes .../graphics/base/MovingGameObject.class | Bin 0 -> 190 bytes .../graphics/immovable/Background.class | Bin 1609 -> 1681 bytes .../graphics/immovable/LevelLabel.class | Bin 1937 -> 1917 bytes .../graphics/immovable/LevelProgressBar.class | Bin 2823 -> 2803 bytes .../graphics/immovable/LivesIcon.class | Bin 1299 -> 1371 bytes .../graphics/immovable/ScoreLabel.class | Bin 1464 -> 1444 bytes .../graphics/moveable/Harpoon.class | Bin 2393 -> 2463 bytes .../graphics/moveable/HexagonalBubble.class | Bin 1344 -> 1416 bytes .../graphics/moveable/Player.class | Bin 2291 -> 2289 bytes .../graphics/moveable/RoundBubble.class | Bin 1449 -> 1521 bytes .../graphics/moveable/SpecialBubble.class | Bin 1518 -> 1590 bytes 31 files changed, 66 insertions(+), 27 deletions(-) create mode 100644 SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/base/MovingGameObject.java create mode 100644 out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/base/MovingGameObject.class 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 496f078..e6cddcb 100644 --- a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/game/managers/GameObjectManager.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/game/managers/GameObjectManager.java @@ -3,6 +3,7 @@ package de.thdeg.greiner.superpangworld.game.managers; import de.thdeg.greiner.superpangworld.gameview.GameView; import de.thdeg.greiner.superpangworld.graphics.base.Bubble; import de.thdeg.greiner.superpangworld.graphics.base.GameObject; +import de.thdeg.greiner.superpangworld.graphics.base.MovingGameObject; import de.thdeg.greiner.superpangworld.graphics.immovable.*; import de.thdeg.greiner.superpangworld.graphics.moveable.*; @@ -65,8 +66,7 @@ class GameObjectManager { gameObjects.add(player); gameObjects.forEach(gameObject ->{ - gameObject.updatePosition(); - gameObject.updateStatus(); + gameObject.update(); gameObject.addToCanvas(); }); } 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 b38c0b7..4286910 100644 --- a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/game/managers/GamePlayManager.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/game/managers/GamePlayManager.java @@ -18,7 +18,7 @@ public class GamePlayManager { private GameView gameView; /** The manager, which handles the game objects */ private GameObjectManager gameObjectManager; - /** Flag, if the gameobjects were already deleted once */ + /** Flag, if the game objects were already deleted once */ private boolean listHasBeenDeleted; /** Generator for random values */ private Random random; diff --git a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/base/Bubble.java b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/base/Bubble.java index 11a2efd..c3d64ff 100644 --- a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/base/Bubble.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/base/Bubble.java @@ -5,7 +5,7 @@ import de.thdeg.greiner.superpangworld.gameview.GameView; /** * A Bubble, which moves around on the screen and can be shot by the player. */ -public class Bubble extends GameObject { +public abstract class Bubble extends GameObject implements MovingGameObject{ /** Flag, if the bubble flies from left to right */ private boolean flyFromLeftToRight; diff --git a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/base/GameObject.java b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/base/GameObject.java index a06e99c..4985b38 100644 --- a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/base/GameObject.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/base/GameObject.java @@ -35,25 +35,24 @@ public abstract class GameObject { 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(){ - - } + public abstract void addToCanvas(); /** * Updates the game object's status. */ - public void updateStatus(){ + protected abstract void updateStatus(); + /** + * Update the status and the position is applicable. + */ + public void update(){ + if(this instanceof MovingGameObject){ + ((MovingGameObject)this).updatePosition(); + } + updateStatus(); } /** diff --git a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/base/MovingGameObject.java b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/base/MovingGameObject.java new file mode 100644 index 0000000..e1930f3 --- /dev/null +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/base/MovingGameObject.java @@ -0,0 +1,13 @@ +package de.thdeg.greiner.superpangworld.graphics.base; + +/** + * The interface for moving game objects. + */ +public interface MovingGameObject { + + /** + * Update the position of a game object. + */ + public void updatePosition(); + +} diff --git a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/immovable/Background.java b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/immovable/Background.java index b68dcc8..170b365 100644 --- a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/immovable/Background.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/immovable/Background.java @@ -43,4 +43,9 @@ public class Background extends GameObject { public void addToCanvas() { gameView.addBlockImageToCanvas(pixelArt,position.x,position.y,size, rotation); } + + @Override + public void updateStatus() { + + } } diff --git a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/immovable/LevelLabel.java b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/immovable/LevelLabel.java index 0c9413a..98482ff 100644 --- a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/immovable/LevelLabel.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/immovable/LevelLabel.java @@ -35,8 +35,8 @@ public class LevelLabel extends GameObject { } @Override - public void updatePosition() { - super.updatePosition(); + public void updateStatus() { + } @Override diff --git a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/immovable/LevelProgressBar.java b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/immovable/LevelProgressBar.java index d69b95f..f4badf2 100644 --- a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/immovable/LevelProgressBar.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/immovable/LevelProgressBar.java @@ -40,8 +40,8 @@ public class LevelProgressBar extends GameObject { } @Override - public void updatePosition() { - super.updatePosition(); + public void updateStatus() { + } @Override diff --git a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/immovable/LivesIcon.java b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/immovable/LivesIcon.java index e6a01c3..a3b176e 100644 --- a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/immovable/LivesIcon.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/immovable/LivesIcon.java @@ -38,4 +38,9 @@ public class LivesIcon extends GameObject { public void addToCanvas() { gameView.addBlockImageToCanvas(ICON,position.x,position.y,size,rotation); } + + @Override + public void updateStatus() { + + } } diff --git a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/immovable/ScoreLabel.java b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/immovable/ScoreLabel.java index 0e391fc..148b894 100644 --- a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/immovable/ScoreLabel.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/immovable/ScoreLabel.java @@ -33,7 +33,7 @@ public class ScoreLabel extends GameObject { } @Override - public void updatePosition() { - super.updatePosition(); + public void updateStatus() { + } } 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 c7703d7..49a7c97 100644 --- a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/Harpoon.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/Harpoon.java @@ -3,11 +3,12 @@ package de.thdeg.greiner.superpangworld.graphics.moveable; import de.thdeg.greiner.superpangworld.gameview.GameView; import de.thdeg.greiner.superpangworld.graphics.base.Bubble; import de.thdeg.greiner.superpangworld.graphics.base.GameObject; +import de.thdeg.greiner.superpangworld.graphics.base.MovingGameObject; /** * A harpoon which can be fired upwards by the player. */ -public class Harpoon extends GameObject { +public class Harpoon extends GameObject implements MovingGameObject { private final static String HARPOON = " B \n"+ 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 77dfe76..9a9f584 100644 --- a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/HexagonalBubble.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/HexagonalBubble.java @@ -30,6 +30,11 @@ public class HexagonalBubble extends Bubble { gameView.addImageToCanvas("hexagon.png",position.x,position.y,size,rotation); } + @Override + public void updateStatus() { + + } + @Override public void updatePosition() { super.updatePosition(); 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 aac3f6d..4f3b382 100644 --- a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/Player.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/Player.java @@ -2,6 +2,7 @@ package de.thdeg.greiner.superpangworld.graphics.moveable; import de.thdeg.greiner.superpangworld.gameview.GameView; import de.thdeg.greiner.superpangworld.graphics.base.GameObject; +import de.thdeg.greiner.superpangworld.graphics.base.MovingGameObject; import java.awt.*; @@ -48,11 +49,6 @@ public class Player extends GameObject { speedInPixel = 5; } - @Override - public void updatePosition(){ - - } - @Override public void addToCanvas(){ if(SHOW_X) { @@ -63,6 +59,11 @@ public class Player extends GameObject { shooting = false; } + @Override + public void updateStatus() { + + } + /** Moves the character to the left */ public void left(){ position.left(speedInPixel); 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 e4bf408..dff880b 100644 --- a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/RoundBubble.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/RoundBubble.java @@ -45,4 +45,9 @@ public class RoundBubble extends Bubble { public void addToCanvas(){ gameView.addBlockImageToCanvas(RED_BUBBLE, getPosition().x, getPosition().y,size, rotation); } + + @Override + public void updateStatus() { + + } } 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 c65b71f..ad2aa4e 100644 --- a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/SpecialBubble.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/SpecialBubble.java @@ -42,6 +42,11 @@ public class SpecialBubble extends Bubble { gameView.addBlockImageToCanvas(GREEN_BUBBLE,position.x,position.y,size, rotation); } + @Override + public void updateStatus() { + + } + /** * Switches the active effect. */ diff --git a/out/artifacts/Programmieren_2_jar/Programmieren 2.jar b/out/artifacts/Programmieren_2_jar/Programmieren 2.jar index 62c096213831f4f4ec39d08c8c62ff4e1783f526..39607e5afa8f5e2d9f6e9b66c5a61708204f121e 100644 GIT binary patch delta 16064 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 G+W!Ii1n3w5 delta 15589 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 DPta?G 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 index d34041ba58d3aa8a620b52e559842663a3dd0a38..1f59bbadf4d4b1ac68aabd7496db6d968430c914 100644 GIT binary patch delta 155 zcmWN}yAHun0D$3t(7{n6#86G7E^Q)&0f|d6SR`(ZNDL?;2HwDIu^G-HRvtj&1-wQV z?_qQ1@6Yd>zWKU}ghh}v5i-Qdk|KwLEuX^G3Ir(1pZM4nEQ1TGgHg*Ioc>%968}DJ~ z?oNH@JHF*xud9eB2$CjDh8S5=Mg9>2 z9R(E?1r`55%NIn99iz}u%*>meckF}ysjKgumsbEq9JkdkE-RR0m~EXHt&g-`y}CR1 z&&th9x8_{9r_bNqVEr2^HnF8(Tf+o)!cplhv&WFKZXL&Srx}A*@qPE&_L@Q91_};C zCUUG17DO&98BoDN2~-?e7!)lC3&_;x!y7TfO5u|*$1J)G5(g;2#sbX#WM@u2~QGFQ3^ddpKq&a6$1 vqZc*#CyFH|9IO8ei?F81tNY1cWgpgJ|0>pLrYN#TwTpe)R6+-+;|Rk)+om|e delta 430 zcmaiuxh_Oe7{`C-u5vSDq9GC{LkyEU6BS_!=Gymt8Qjtfcmr=haVm{BkeHBL+(M;N zdk1eID)HTgOs6>i^DY17doSITytnW81!xj>ybt4P+N`MFU5`EXT@DINa;Pt@S9Ppw z_K?+9RQ0V@HC@j2mF<@q!NU-}60ArEw$wI`;Jl9QIn~l%_QZ7{oBov9V1Y&HpurN$ z!c+Lv6TZx5(jJO_#Aw8LEG!;nVbBsxY+;x{u#ncp+)lB=YHsq7^Fsfb@*QJ-r0<=! zT=MB;mt@i~m#(G8R&Aiqm6-KEo4U-CIMos8&Y$YaSGkG7#{a@5!K`>?@xMxw&D4L3 VZTWj7a!1|~C(?ORopQzngFhPqFa!Vq 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 00f7b6054a1718ce5009ed4d331e62803dc222e1..2692068f4d4beedaf8af23372e5acdc17685e7b4 100644 GIT binary patch delta 536 zcmYjN%TB^T6g>l_NLvgcT6`-gibcf-3TT2RE?A)^64w@J45&atVavu3(6I6^Bt8<2 zF}iijCV?dZ05|IbMLw5&XxQsOP{|lZvawAcBB&~x)ESV-&_aVr%vxdw%ROJ z&NBL?ahNX~1yhEKQ3YcV83r4*qHY>T)q2S+RVxw(Fri?QOG;NdHg&U6_mD8HUdV}+34WGG+)LyUYN2z(FX8CD6& zk?uJ{MmVf}K)r>cy+eJ*2#HS^?~vfc|HwF6ZfwGb1cs2bW|BYewr8$c4a`U6IyUI! zBhnO$2NSjEBc`~g!}63Yc9+)M>x(b;;*0!u$%7$IL%UwvF^d3P+5`M|Jukivkm-x$ LvV9n~tg6Hxzr#Z= delta 501 zcmdnP-NMav>ff$?3=9mG3FU~B< z%+F(F;7&|Q3CVX(%qvSQW@O-jNC%fBmXsDxc4B^LDa9ZSG>(Nq21?69X*mXYu($%0 z2HF7RvjJ7IGAJ@IGAK=sVbQ2p28sy*#TbBMEDTBvoD9kgVhk!k$N;37fTTEsDuWu3 z2C=vqcz`+?8PtL108IdjX#+7M2yX-uOhC;bD?kF;U?V`vK?)#7FfwSMX{^Vh(+I0h zO*EZYG+JWSs0DNi#I1Hf2ZDUWrlq}=K@99*Gq8)fz`_o|fN@0fI2+vKY@p}?8p6n+ d!=MW?Y;rxTm^#9*9!M6m!u_fTw2FyA9{{lOEY<)3 diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/base/MovingGameObject.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/base/MovingGameObject.class new file mode 100644 index 0000000000000000000000000000000000000000..45ea4fa91904ffa38e49284d483ba21614f16420 GIT binary patch literal 190 zcmZ9Gu?oU47=$lXTXhf@-$55MyEy733W9su{G=&02}xSt&A|uop~Mt7m*Y6@KJNW_ zz5whnE08hlCGl8GQe1h`hCC0QBkzP!59?c*V&Q6C1zw6k{A7D=)KT2&TsBn20%L|{ zBYMHxG~vILVbM7$B3*3IQCq_>T5oO)^Q-NAMF-sy!|ETl9XL5dYNv+)OY8~q!J$Z+ GVfqE$mo&%# literal 0 HcmV?d00001 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 index d86c7b9cbf6056f17430fd9cb7fb39fde12dfe60..e633f6a4c266f69b57a187d91c96b7edf3be0764 100644 GIT binary patch delta 106 zcmX@fGm)3;)W2Q(7#J8V86q}vrLpkvloq5UmZS!kB$kv;&Sf!XWZt}xWig|j90MbR pJ5ZfA5Ho`CMj*k&-~lArzyd}LoY+08t1OWU~cZ2xpN+q`#kpLSRdbmR{-+}de)qlaIt7(3Cnz?d1lE*9;^JK zb;mV-xtha-9hfDgbvuB}>{WuPkvcXUKn{z~nSHs)z+NA`V+%#M|0I%@Tkn6MvW?5G&9*X**}4pU=i!skgB>V_#io(s0x<((JVYvgs~#!B(lgr zIc;G9Z|Ed!{pw|wm#aAH3B;hxW;F0ejPz%eU#mr;Do9nvWUh}?9}5Gl09~N=FJ)#V hB{@vdM5A_XV@IkZ-L51ZMtF=9nOX8~;S3i@{Q!98HJJba delta 410 zcmYk1$x6de6o&tsQ9>GbN;eWLP21>3x~L+e);X=QPH`Tpc2N)`SPO#SGsu0Bc2l8( zZd~~m`W}kshS17|Gydm0_xxDTgU07?_YJ@lF5AYWoRctTVje{X>;Cqt+Nf2+yLzJ@ z-Z047TwuV)qKPFeb5C}(RTE=a<4w86rD9HFOLp1kO(?h9ty6iDa;GEitiAE5RCbZ!hN#DIj` wL9&B|poLq9aOEWc#-=k4yg@5RAV?8V(k z{>sF=A6aPQaSk1YugPZiTmFfFCWMJdU{%OT&7XB$%S2beSqL_Qb|YL{34*|i+l!(g%Hfs#k*gYS1j_Pft}KgYxws4$0@t{bhEZghXA*77 zhS?A;`N2GJ@H(pn)`3~vz)eP#9mfgM0=ICR+LXV|I{B$x!#%~1aB+}Gd7THlll;lX z5qQir_S{W7$sOh=)VE2|(4wkQfC(rwJ1uUR33YJ3G+CKqR9wE=N3oBy16+WQk9^tb zGP%Pg|KH^v$<*Z}X|-OqTKbH__6%0?I?a>JBo65jvdTf8vW9wUf;Ova)rzxFA9pU6 z`j~JUd;F5mWPnAWK0d%z6}G2xV6daczBv?en#Vem_@_s!Y)wc{1aLT`j$zzSj;3RU jof=m0065CV3?33#Pc%$4PIM#DXLv!}BJmQh(L?bcOuc4t delta 740 zcmZ9I-D(qY5XFE0-F&RerpSW97$hMgwP^|#3z8}Z(u%e=8nrflwHnRZMq^U5Y5g|p zjSsMR?JHQs2)PghuLK{#H}KATads1;cynf8&YUxIe(iY^H^2Sve+Kfr-Z95R6B?&2 z7Fbk_ZEe=79jDxK>z#V5sn8Eite9k2vM6!Z%ZDcRpI4}g!9^)WgG*A1-f+4N@*yi(+A%vESg8Eh#wlsB!_3YCg!@K9kdIonR7+-|M6 z9oH>Z+p|J@EGHF@-N`4M;;#<;Ob|I64%FWqWiJ zJbL^)XN0$=oi)tf3jk$iP!tkdj!E8eEcCQaag|#g@@^ zay3gZqub>3EXu0xKrLbnOhD3!!GpmQNP}4F3>plKKN3Q$uVvO5=;yr&1_%+H6)FUaE-oTRek_lR2$I% delta 222 zcmZ3&y@Q+U)W2Q(7#J8V83H$Q^)btHF)%T>@i4eEcrY^Xl@_EVmZS#c7iX4a=I1do zFl$Vn#@spCgvE-{b8Q05l%z 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 4d7710d23e1f8a9aa7512e2968d579d1060a9331..7b6571182ee095d038bfee379c5d754150c81459 100644 GIT binary patch delta 485 zcmYk0yG{aO5QWc=%kE}fh!;RXK(Wz)iJEAP_e-G_kwWpVTm%FKybxQTf$RhL3`9d= zVP$1vudS`o%G!8#F-SK5%jZWr9ja5l7q&S(h(Ba zfPfEiY%y>1kPRcSv$jKK+%dAsa&(vdL8y#g_I=RMhfes>g8;uEXZ;w(0QRWxkN}Kf z9|z246-I<4fkPZw#BXIhViGk=ImF#zYg6YGq%<}K<}h#RV`}im)SG@lcjlFb*3r}^ z8f;Ex&}QlMa2@{eJ(N0DYV6zae{%xum~7$bO-{1Oi9xbBZZcMlPt_AQ_noAJ&UAWn kVX=kb{$r##rvn#5+B$oT46{mDmhTKD{%NerxWE;>zb5HG7XSbN delta 417 zcmYk0OD_Xa7>1wIb}q(fl+qT{N+r{zm6WhS343S$l;h1i&K|*&h(=Bp)PdF z^3=7iTIIy8BCnffMn9UCez3X=pcr7873p=6#Tdnq*}#;#s$Z;yr8U_vVoS}+ehxA_T{A|}NajnFu4k5>Yt6Oz8ma->fjC~HI+w!PGS?65JpCi*1H{6l?0~UlZ#{d8T 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 5dca117a67a1aa1b3804f996840b76a523f2e4fa..55eb263770aa6b046c21fb2f64232c7ac0ec9f57 100644 GIT binary patch delta 133 zcmX@W)xphm>ff$?3=9mG3_csV_AvACloq5UmZS!kB$kv;KFn;u$TIm0^CtsO25tsM z21lSmZ6Ia@;f+9oiNOg-vVjFu7@UD@9*E@RyDWC98VoE9nhZh=T1Ya&3@!|=AngoZ HVEx_z*a#J^ delta 71 zcmeC+KETCw>ff$?3=9mG4Bi{L_ApPr%B;)CJeis0(_}qXQ&nXK76ugtAqG_jXP_D$ W21Xz$%;3V{3ZxksJb@$=gBJjcI}Gvw 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 b49ac9aca68dfc42b2ae9c461b13ad476af8a521..6be9612a6314bbf7e2b5eeae85d808243cd4bdce 100644 GIT binary patch delta 206 zcmew?_)&1f5mp86#FUhfeCNcxvczIW24)S-Fh&NR(t?!4lGNam#FEm<&scZMYBR7h z=r9N|=rV{i=rPDK=rd?B7%-SI7&6#07){>Cra4)G-B#X`L7u^yL50DFA%TH`fro(+ zNUAa(t?!4lGK3w;>?oF{5(bmW)00SMh5Q0l$4Ns=fu3S#K})scgt!q zurg>f2r=j|h%@Li$T8?KXffzBm@ybI*fJPS-ovIj*^6CL+>9ZCfq{XCfe}bDG9)r2 zf$7xAci7xSZ5iYl>={%T9FWwgPA*_KXLVuVW^kRnhTWOf1IY56`~}GJ0kV82+i*Cu h1^`)slUq1ER6~Gn2xSmp2tzVK5N=C4&@Lv13;^=TCwTw> 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 d364670f5b75fb079e5f0f5f2ef2e5805c4fd88d..d928baae7142914d7e62c1bcfc9bce7a0584f025 100644 GIT binary patch delta 105 zcmZ3<{gIpN)W2Q(7#J8V8QeE=HL>vUloq5UmZS!kB$kv;?qsoHWS)GC<(?fk10#bC qP?073nbaV0wxT0KsFCVlEI$A0mx%ya0QY~3~m5oGZH!g delta 35 rcmey!y^@>j)W2Q(7#J8V8QeB sN{j}RXR=y|n=@Deb?`7S0!c;&YX%!2&BWjYQXy-HMUIid8LYwu0GUP=`Tzg` delta 63 zcmdnS^NySA)W2Q(7#J8V8C*7UnXpXuWr<>BnY@DK7Bdrr!{mLeN{mL6AF_&0-pi`Y SXbEHqb22hG0o5}xI0FEHZV?{<