From 11b7799168a9bbb6353458c4fb2973b9c455cbaf Mon Sep 17 00:00:00 2001 From: agreiner Date: Wed, 23 Jun 2021 22:56:15 +0200 Subject: [PATCH] =?UTF-8?q?#1=20Neue=20Physik=20f=C3=BCr=20die=20Bubbles?= =?UTF-8?q?=20implementiert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../game/managers/GamePlayManager.java | 3 +- .../superpangworld/graphics/base/Bubble.java | 57 +++++++++++++----- .../graphics/helper/HelperValues.java | 12 +++- .../graphics/moveable/Harpoon.java | 19 +++--- .../Programmieren_2_jar/Programmieren 2.jar | Bin 727823 -> 728398 bytes .../game/managers/GamePlayManager.class | Bin 7045 -> 7045 bytes .../superpangworld/graphics/base/Bubble.class | Bin 4870 -> 5305 bytes .../graphics/helper/HelperValues.class | Bin 0 -> 715 bytes .../graphics/moveable/Harpoon.class | Bin 4342 -> 3562 bytes 9 files changed, 63 insertions(+), 28 deletions(-) create mode 100644 out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/helper/HelperValues.class 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 d91c1e7..b9d1c8c 100644 --- a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/game/managers/GamePlayManager.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/game/managers/GamePlayManager.java @@ -31,6 +31,7 @@ public class GamePlayManager { /** Der Spieler */ private final Player player; + /** * Create the manager handling the gameplay. * @@ -58,7 +59,7 @@ public class GamePlayManager { RoundBubble roundBubble = new RoundBubble(gameView, new ArrayList<>(Collections.singletonList(gameObjectManager.getPlayerObject()))); roundBubble.setGamePlayManager(this); gameObjectManager.getBubbles().add(roundBubble); - gameView.setTimer("SpawnBubble","GamePlayManager",3000); + gameView.setTimer("SpawnBubble","GamePlayManager",30000000); } } 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 69e7771..0f95753 100644 --- a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/base/Bubble.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/base/Bubble.java @@ -1,9 +1,11 @@ package de.thdeg.greiner.superpangworld.graphics.base; import de.thdeg.greiner.superpangworld.gameview.GameView; +import de.thdeg.greiner.superpangworld.graphics.helper.HelperValues; import de.thdeg.greiner.superpangworld.graphics.moveable.Harpoon; import de.thdeg.greiner.superpangworld.graphics.moveable.PlayerObject; +import java.awt.geom.Point2D; import java.util.*; /** @@ -11,6 +13,9 @@ import java.util.*; */ public abstract class Bubble extends CollidingGameObject implements MovingGameObject{ + private static final Point2D VELOCITY_RIGHT = new Point2D.Double(3,1); + private static final Point2D VELOCITY_LEFT = new Point2D.Double(-3,1); + /** Random generator */ private final Random random; /** Flag, if the bubble is in the spawning phase */ @@ -22,6 +27,8 @@ public abstract class Bubble extends CollidingGameObject implements MovingGameOb /** Temporary movement action */ private Position nextPosition; + private Point2D velocity; + /** * Create a bubble with default values. * @@ -43,7 +50,8 @@ public abstract class Bubble extends CollidingGameObject implements MovingGameOb spawnSpeed = 500; gameView.setTimer("spawn"+spawnID,"bubble"+spawnID,spawnSpeed); - nextPosition = new Position(random.nextInt(GameView.WIDTH-width),random.nextInt(GameView.HEIGHT-width)); + velocity = new Point2D.Double(-3.5,1.4); + } /** @@ -55,8 +63,9 @@ public abstract class Bubble extends CollidingGameObject implements MovingGameOb * @param speedInPixel the speed in pixel per tick * @param position the position * @param spawning flag, if the bubble is in the spawning phase + * @param moveLeftToRight flag, if the bubble is moving left to right */ - public Bubble(GameView gameView, ArrayList objectsToCollideWith, double size, double speedInPixel, Position position, boolean spawning){ + public Bubble(GameView gameView, ArrayList objectsToCollideWith, double size, double speedInPixel, Position position, boolean spawning, boolean moveLeftToRight){ super(gameView,objectsToCollideWith); rotation = 90; this.size = size; @@ -72,7 +81,7 @@ public abstract class Bubble extends CollidingGameObject implements MovingGameOb gameView.setTimer("spawn"+spawnID,"bubble"+spawnID,spawnSpeed); } - nextPosition = new Position(random.nextInt(GameView.WIDTH-width),random.nextInt(GameView.HEIGHT-width)); + velocity = new Point2D.Double(3.5,1.4); } /** @@ -81,23 +90,34 @@ public abstract class Bubble extends CollidingGameObject implements MovingGameOb @Override public void updatePosition(){ if(spawning){ - if(position.y >= 0){ + if(position.y >= HelperValues.FRAME_BORDER_WIDTH){ spawning = false; } else if(gameView.timerExpired("spawn"+spawnID,"bubble"+spawnID)){ - position.down(width/4.0); + position.down((width + HelperValues.FRAME_BORDER_WIDTH)/4.0); gameView.setTimer("spawn"+spawnID,"bubble"+spawnID,spawnSpeed); } }else{ - double distance = position.distance(nextPosition); - if (distance >= speedInPixel) { - position.right((nextPosition.x - position.x) / distance * speedInPixel); - position.down((nextPosition.y - position.y) / distance * speedInPixel); - } else { - nextPosition = new Position(random.nextInt(GameView.WIDTH-width),random.nextInt(GameView.HEIGHT-width)); + + Point2D newLocation = new Point2D.Double(position.x,position.y); + double speedFactor = 0.2; + + newLocation = new Point2D.Double(newLocation.getX() + (velocity.getX() * speedFactor), newLocation.getY() + (velocity.getY() * speedFactor)); + velocity = new Point2D.Double(velocity.getX() + HelperValues.BUBBLE_GRAVITY.getX(), velocity.getY() + HelperValues.BUBBLE_GRAVITY.getY()); + + // Wall bounce + if((newLocation.getX() >= GameView.WIDTH - width - HelperValues.FRAME_BORDER_WIDTH) || newLocation.getX() <= HelperValues.FRAME_BORDER_WIDTH){ + velocity = new Point2D.Double(velocity.getX() * -1.0, velocity.getY()); } + + // Bottom bounce + if(newLocation.getY() >= HelperValues.FRAME_WINDOW_HEIGHT + HelperValues.FRAME_BORDER_WIDTH - width){ + velocity = new Point2D.Double(velocity.getX(), velocity.getY() * -0.95); + newLocation = new Point2D.Double(newLocation.getX(), HelperValues.FRAME_WINDOW_HEIGHT + HelperValues.FRAME_BORDER_WIDTH - width); + } + + position.setTo(newLocation.getX(), newLocation.getY()); + } - - } /** @@ -127,11 +147,20 @@ public abstract class Bubble extends CollidingGameObject implements MovingGameOb return speedInPixel; } + /** + * Get the flag if the bubble is in its spawning phase. + * + * @return true if in spawning phase, else false + */ + public boolean isSpawning(){ + return spawning; + } + @Override public void reactToCollision(CollidableGameObject otherObject) { if(otherObject instanceof PlayerObject){ gamePlayManager.looseLife(); - }else if(otherObject instanceof Harpoon){ + }else if(otherObject instanceof Harpoon && !spawning){ gamePlayManager.destroy((Harpoon) otherObject); gamePlayManager.destroy(this); } diff --git a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/helper/HelperValues.java b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/helper/HelperValues.java index b525df6..31110b2 100644 --- a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/helper/HelperValues.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/helper/HelperValues.java @@ -1,2 +1,12 @@ -package de.thdeg.greiner.superpangworld.graphics.helper;public class HelperValues { +package de.thdeg.greiner.superpangworld.graphics.helper; + +import java.awt.geom.Point2D; + +public class HelperValues { + + public static final int FRAME_BORDER_WIDTH = 8; + public static final int FRAME_WINDOW_HEIGHT = 432; + + public static Point2D BUBBLE_GRAVITY = new Point2D.Double(0,0.2); + } 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 f622399..a8e35fc 100644 --- a/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/Harpoon.java +++ b/SuperPangWorld/src/de/thdeg/greiner/superpangworld/graphics/moveable/Harpoon.java @@ -18,8 +18,6 @@ public class Harpoon extends CollidingGameObject implements MovingGameObject { " kkkkk \n"+ "k kkk k\n"+ "k kkk k\n"; - private boolean stuckAtRoof; - private final long harpoonID; /** * Create a harpoon with default values. @@ -37,8 +35,6 @@ public class Harpoon extends CollidingGameObject implements MovingGameObject { getPosition().setTo(300,300); this.hitBox.width = width; this.hitBox.height = (int) (440 - position.y); - stuckAtRoof = false; - harpoonID = UUID.randomUUID().getLeastSignificantBits(); } @Override @@ -50,9 +46,12 @@ public class Harpoon extends CollidingGameObject implements MovingGameObject { @Override public void reactToCollision(CollidableGameObject otherObject) { - gamePlayManager.destroy(this); if(Bubble.class.isAssignableFrom(otherObject.getClass())){ - gamePlayManager.destroy((Bubble)otherObject); + Bubble bubble = (Bubble) otherObject; + if(!bubble.isSpawning()){ + gamePlayManager.destroy((Bubble)otherObject); + gamePlayManager.destroy(this); + } } } @@ -72,9 +71,8 @@ public class Harpoon extends CollidingGameObject implements MovingGameObject { public void updatePosition(){ if(position.y > 8){ getPosition().up(Math.min(speedInPixel, position.y-8)); - }else if(!stuckAtRoof){ - stuckAtRoof = true; - gameView.setTimer("stuckAtRoof"+harpoonID,"harpoon"+harpoonID,1000); + }else{ + gamePlayManager.destroy(this); } } @@ -83,8 +81,5 @@ public class Harpoon extends CollidingGameObject implements MovingGameObject { */ @Override public void updateStatus() { - if(stuckAtRoof && gameView.timerExpired("stuckAtRoof"+harpoonID,"harpoon"+harpoonID)){ - gamePlayManager.destroy(this); - } } } diff --git a/out/artifacts/Programmieren_2_jar/Programmieren 2.jar b/out/artifacts/Programmieren_2_jar/Programmieren 2.jar index 175bd2b644fb85ba8ec9caddcb64656967907b23..23239a898fe36b08206985d6b9fb5a8799f325b5 100644 GIT binary patch delta 10783 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 delta 9983 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 C!~BH+ 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 f09a9740324355afb18a46367da88500b8309215..a846c8d0de3f6beee68216279ffd681643c4366e 100644 GIT binary patch delta 311 zcmWNLNlSuZ6ontb!bpP;{8CFIgCMhcGE5s+O%~BE8=#3s3ZfZI@gstEFEnR!L<=+8 zMbx5IKcYp8_WgwJ=5o0A+~*v_Z}`(c7PIN=bLZvPl4n)hyDIGZYda*HBkUaG;Y7%%)N>}i&ZR?=VJ;-=l2xwQ=9)cj*ymPUce1%B W#e<6GecMvlc%pzbB|NK{eD^=wk3;SN delta 311 zcmWNM-7CX!6vjVl*0h)U)qb|IWJ+ybhZsW(H*5^$%6rXd-r9xcB{hpFe0j6#j0KzL%yifnunZX`!sPDH4Wd7B;b+N<#oH0kKg^>D3z6 z8sa8pPCSl^T7en*cze#6wSn6DK!dl)n9BUM>jRC-oGc?7$k_E79z}yb*_N+FG_1!4 zz1da}eN4mSctXHd6>bV~%FfFvQ)XZ6lFv>Dn(?HHr!=%+i@@MJW=c?XAi~O6vvcw! zqD@1)G?(h~WYpjp4bMu}F5kmGUrByN;i9=^#SfJ$=l;YHBR}QbA7-_bIpt=;DqhmF z)UkR~Qo8c8hF7p%-=0+F>O_}{of>vwg1}7D9-|lkV5r)t!7}|9$M3F- z4qU?LD!$NAip%;=>RG59E;(Ps!=CS=KFjVi;hU&@ALDtuy z=tG?&NB3YFi(-+T!`TkOZc-?}35XF;VWoDDzS6lZx}@9<{+1udiesoaOuZFvahwJh z$5BL$h7)7p#=RJhY>Yz=CL$LzF&0I*kIgm?>)>UdjK@|?KsP4gZ6dSG7&wS`C^4Gs zB<3Mk@8Uh?@;=v^r(bo5DjD8_BSyMMxsvHtFx_P8JM=@YNy(MzYA@ErFjwzzrs>uJ zUV}jJ76LYdz$^?PYAy-*NMIfYArBeICzS%GUPuB(9E-6C_hTs@zzUS03iAB7gi5l#w7Uo5Ke|v= zI8;nmam;E};geM|OL3ft6RfH*N^zY>(#DebJ-sOGLXgvxe3rwFx*fZa;;|k>VUH-F zI?TW46dnZ3#Udbv#xCKJ5dPB!+E=x^(G-qh6UDH8#W^I}gKMX;q+FWxqSBn!urEs7 z*jy~%^3B$9OE;dcF|89>_alrnNl?a<1lUQ5 zo{xf^k;>99<;Im`FqR<`%XyPO!p>NMIv%DL9;bG8$w9XLH@sN?LQuF+Cx#&;W*{sU zqCu?UJ()NFE%+HHi4jCy#VIz2MQ&fbpJW5Lp=92`f`8DWM$v4|xB=gFnhBi72j;Hx zJlVJc9Aua3#!3=?zDqoWH>=C8-F zqX(m?*xiLpDhhWZP3m*|useo5a_NcT)x@rX-wTBrW|!{B&Nzq=5yFz%kQTBEBDfo_;x599(2Glj zKx&$v%E;c|sIY{D1+i&trZ466slT9_oatlVnzEPY++D$%KGe?KbAIo?^Lx&7_KJ6C zwej^IbDsk!!)KGm_iDX?YBZT}p*9T$cA40XjS9?2s4vzK?Fq-i(MTFYT1@PLr9kPE z+FlcFw$?9`_L&GGB))ZS);dh=M_4R%)!uW+L^IhHHj{PyMD!@bYr{ggNmEvc&S9rBt z?Fkc4;+XJjjn)93(($y3XHcr3f)Oi3T+0(bX_oW2f-*a$SHHtBFo0nbBY0L+>f6i# zoRrEbhRh!$qxwjDduOQJ+oJ(q4|6qM=;1gWZF=3(slVZ;N(sNmX*3;ESG~AdLCq22Uj#)9`@j2%d zEEUT{+gHEub< z1S*DY-H|u1&tT^?0+Y;8@jTa!u(&Q~y%q3aC9+XKX%$LvH`bvL6)1uqUWDMo0Tkmf z*5DMqGgynWcBb7O=OBO@8fNA7L$Re7@FI`-5@mDVa-No#X>nkbHWyw=4bsm+(r6zS zXEWAo&AIv%TE+DY|NolFY0p%N3>MnNnJPF_C9-fY@=%40U(mBmm=BM#*JMWdt>uT#pAh)x!KT zQ_g>Zad$!alO1&(hK_O_uc{L$Yv<>i!-GIl*bXG{=qM&-JinabY#fLt&`G&nT(=g-$1src1rq4;7gEV* z(W+aa z6ko$&0z*>tC2(Tlu`gy9V2}VGM<#~I!C^l4ktV+D6Z1&2c2_pW5pbxkfap&)^EKBKI#Nz(;ui diff --git a/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/helper/HelperValues.class b/out/production/SuperPangWorld/de/thdeg/greiner/superpangworld/graphics/helper/HelperValues.class new file mode 100644 index 0000000000000000000000000000000000000000..cbbe268c2cb4c07f4727f94ff863c2503f69bf5e GIT binary patch literal 715 zcmbtS%Wl&^6g@XDC&5knq!h}#K+A%W*dd~#CQchmrl~@3)KxTbMu{uej{KnC0$%}Q zQK^;K!$%>m-3Yqqj#gU2*qu~ z*s&|9V^PDBj%BP68e=8m=~zv~Bvh`iLJ=i170$T$SrB?-cFWn+bs{lU9uuOI8C!aZ ziU_sl$7a)N4-a~Kw%I=>tXnts^_H-_-`jiN9yYr@qum=0Orzf+kV#l*1%4DuKhBco zc_lpF%2o8hJT$t4VW({#boxxuS3;o`j1{47al41f=}3ir$un~WD{!P|%g{~n+*ydH zE;qVs{m-D>e!1aza}BB=f+Td*zMB?Zy1tNC>F@;I^m&slPezf7G;9&pZrlp%dZia0 zvnn~BJdX{mVhx1bjB;3KeCHb8Kqb{J<5*FYIPxwd!Isz-U!H@$W%ND1Q<|OFZo4kx5HN`uq0` z#8^SM%Sw+`toEOU=f!(i>$1*cJsbRnNM>pm8$I4-lOZ-Zym8<514DyDSwpC$b+dmX z^uS5C_>V%(#Z&8oQ|Gt##@NDkkFE3@GR2ZNyw=`ID%j~U!2ABMk)>vr|8HbY)owm; z+2ipcLxwh~oawKPZi??`#N}g;103{kN82lQ^NGi&eC9uoX5wFP*yT%)ulU+;b7xHX z)?<|K49>_tL%5}@wb$jSxXbSRTef1q6N~m2Zf=-YCfqFw_n*e@bkZb|4u&Hd^&I24 z))R8uAxl(oM6<(~kjIKcTHo{26Z&#@6@@sdIYCVGG}TQfP6IVGYHlJ$vwAXv3^Q5D zEc%$u_o{3RPT>bmDbsn@Au-v==d{?)DE3OoSs~|yIGiWU1up8#SWdt$39{ST6Zc7J z%)QUsW52U#JWVTIV$)hWf`W8b&;l#oDTuGpk@gDJBqcv3!E*{C1N!!&NW&#ATUynQ zYG(-Xr)s*Ad6wr{bAjgMBf5H0dEU9mWHI&HJkMquCh}|>cdK4LAsUZ%CepzaI_1$^ z(Z5x4XQDcBg{vYGOUb7c*SIbbH-v_An55#Hfg3``m{2gIPn0`qvLbDi9l??oR;@8D z&!GLRVZG8)J6g-$y*o5z1JIV%j|%vx%(Ck6J%;lf8n>+~S7_owHF}X=|Kc*w`bwVt zSQ0mkTM+lU3AKEF?kWvdo%q}$wb1MzA8KV9t9e*gdg delta 1949 zcmaJ>>r)$56#v~MWJ9umlR+7AEMTeRfl{!o!$fF-w(^w9t0OQ@w_yoOLN;a>1RoRM z*gE24)t1(&Z|kcFEu@HA>szb!`9Z(w_^IO`;77-Evmr^R9W%4{o^$R!=lss^oSVO| z`KQ8p?%%aD0P6AUlJhr9!huE++p&YerRkHwaFgDns-p~S(1~WW2-qoN7j`ogj!RQg z&7`hGYWn-zb}~5QQglR}Fcr7Q+j;SY0QYYd(S~-0l8~%-%95t{Dxs({ssyE|-mK^v zYl79|ZO?}Tog%t$8$6pyKDl&4^HQiVMtZih(PbUtd)%e4|N^@|9g#Q4j4+W5n^ z-7Y|4*kbIlRTztc!`N&sa0M|UKo&8IkkM-0=29>&AS@z+3FCmZ(KQ5B#GQyS)Ej@= z{N&>*2zUoLoVW-Ly5Y%dVN*sV?}ox@%m}zg#J#wWq1Jf7QEU93*Xnu*4-0ri#G`o3 z@Z0Mg(|BCO0UR`Bd!uU(PYHNh#4~u-Sg>zQJSXCLyue_Yq?9(#PVa!5T5(v!JdO}a z6H-`iQKLag->c|jBxySFq%mCSX;0G|k)olRUOlcvLjgA!4(Cw-`dKeHF^!i*yo^^E z9Ga~6DHC#>!Q(Oe!W~D~J+r2DOS^Y~2Y5}y>v)4f)VcSr>6j9iM;NMdf~ks^^^MVA8(oFn>jpOORLQ%4f%v1WAI7LCgBmWZTjvL@h1 zhE11LeYs);{LHZ7|F1IG&B{?hLu{c5c@tKY;;k)so0NBGR4kaJkDffqZvN(Ix6@f3 ztromX+69uWv`35u=WxPjT|t9y6-`Opx`K`+IU= za}yeIJ-z-a48sEnUWDPp3Gyg6gJS{jlSXOyOCtbWTEr58I7zaYwj>sDicHI7vS0-^ zBypOKILoU6MR?w4G>q+h7YB6pyFVu&~bPF%Sk}ASY5rG>~gc@wX zW&&QD0%@kN!$Km3l3^7eq|++oY9Xg`ia6j)V$i+MpTzzo#^zDTZT_>^mqawnl$m5J zbz~cgaWk=0pGtC-87IR;Io9wYW%-DrTfxdm{5X**cMb()0EQ{YUG7QBTuud>TRqu| z=({$FyZJGFoDJHFXNz&a8l)v;8u``ISu!MYNGY{g?CB znXC+_0W+M*fIA8y1+F)pq!>>eI)*Zijx0jf8d}AZNf^iBCtJf2RQhauzD&#=Yd8du zLc&oHS1%?LIF=={l!gs7RE21#Vd|h>brPjr=s|Z5zTPxGPNNMLUlk$yB!e_WHclg- zn1*>&T|RXZug=3oXQ5P!vk**P258Rr!jC(0(pKlBrSAEOz_XOcf=}@o?S&+LPMN<= St>581*_@>RfS>RSuKo|9)X$3m