From 22d42273c1dfe90ed3e806cdbfc2ebe108bed2b1 Mon Sep 17 00:00:00 2001 From: Caspar Date: Wed, 16 Sep 2026 12:20:29 +0200 Subject: [PATCH 1/3] MovingPlattformsUpdate --- SMIMS-Game/MovingPlattform.class | Bin 1140 -> 1259 bytes SMIMS-Game/MovingPlattform.java | 7 +- SMIMS-Game/project.greenfoot | 124 ++++++++++++++++++------------- 3 files changed, 78 insertions(+), 53 deletions(-) diff --git a/SMIMS-Game/MovingPlattform.class b/SMIMS-Game/MovingPlattform.class index 39c1d004a2b960709ce3117be0412698f0a01348..074496bbcd6df3240417aa85c3948d24fdd08c23 100644 GIT binary patch literal 1259 zcmZWo%Tg0T6g{1ZOcI*+LwN}ZN)j*;!3V|{qG)siSXlU2F(hp=8ZxQLpyfYU<=Q2m zV3o$wg~iH+-(*>yo{SWQi@Du>``&ZUJ$>ibpYJ~aEaPzk5f~<-5+~3m5Z|cUzW>to zb_Lq5J2l6@DPSa1TXDn?H<6HNhZN{4xNn?V`ABrsSG#oqk=K!(5?wm%M5C@$DM3$< zM6WK;wxiyvveK@8i2?2EZn-w=j;boJ;P{%;Nr_YX(y)s>$1p50f>D83S@}<0uUZo5 zOQx){r&R5w>-yQinKN-(z%0BAPC9QwViIQrqRe|1w365EX^FG{+|RXRMk0xnKzl>^ zmRq!a$E}fnGM`UvB`}6ri8-AR)OSjLMJHt>vbZ47Lml2JZ@qRz4~q7}#6@=8x=dgZ zmrPuixPq$`@ECJ}1R1XHyi!HKAuyG+UfFN#Y}Kxnvny4*(a5D*o;}~GW-X`T=h|@% zZ1}pw4e*sZgM`Ct_DVp3fn+|+46s@iatX|1LYrxAW~dLtwz#agB}I0YQ&VeuyF1Ez zV((Px>D8iCw`|YR=g=ATD-Ox_SjVOz$FA#}`spc{Us2(M#jWsRc;B(<+r`%fyBpxaIqh;Wm$2dd?K29Qc(1S}G1)mjnXjgbz zXM~RHN`Hk&8((0iN4}ur6I~J9rR`+`&`B#1=TLW|8~5lL453$XpCJc;Ii2O#z#8{jT{=T$Y#}Dkn;JQcx=RYFLWyqTCoo`~n_=cqj4lrMs`-#E1xh8ID zK5dn4Zf`fStQBdI8YUhv3lrz5MuvK1NpT(v{CBkI6O5B2nTN%?qd18I)&fNqL$aEp N0kOdAb#5cr_zOdE=1Two literal 1140 zcmZ8g+fEZv6kVqmrY!@s+>`=J5ld;MMeza_Q7mFeikQ^k<;kHvZ3j!InGP8K!5{FE zPcYG%_+WhU!7uP*jB%am2n`Rj=j_|sYwbDn>+iSk05-l5 z>_dURHM40t>jM7N!d@65gf&ET^g|aI+Odw!X04|>*ltN#5fIxEmJaF|Qh0s)^1ZA{ z6^iK?R-tG&RBD;BA?+R0Q4~gXjH#sGDANz&l8(!m5D3+z^U|^#1RhB(6l=DW&8lTN zIX9TsFe#wzoVcFqo7Qm!R|Nv>d*w2B=_GW_{tv%ab#pqdBPr0|mQK+s8;)r;1%j#V z?S;Jv;z;ROPz~;Uv*OfMQ%1)PEDFRZ`$XEi%^vyO(HjjpD()s#{Y@RWuq-f2GP_N= zyMG|d&W5vFt#YbBlGBO@#<7uW7|mL)&@kHVe6PlhvSZo#2<~87!(A@@T)vx9nS?TP z6r3V+z6w@Fva)D4<+G#1eQCci_8W{0E0v8s!#0)g1p`jqY*SD1!q?1GMyu5Qo*}0$ zy)O_hdYfi`pyU|kcRNPQgNkfQ+xw&n@B&jdL`v3?U6xy>Vl#SSU{zS2 zKSO)V!%PR)lpi`pRJ}7D%!ewc9IYyRbx)Ju)ih4+zzhc`NMROP%wYxdJ=#`10=#Q@ z#NS!qF+0NW{XtekJj?+9Ia;+ohbk1ac@9p0#BACh{XLxRV5yk-iO~$H+;(a5aIb?E pwS-Fc*GbfV3T7A?lDq4{18b7pYZ6z);~kP&uIVv diff --git a/SMIMS-Game/MovingPlattform.java b/SMIMS-Game/MovingPlattform.java index 7f6008c..ee1b3b7 100644 --- a/SMIMS-Game/MovingPlattform.java +++ b/SMIMS-Game/MovingPlattform.java @@ -9,7 +9,7 @@ import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) public class MovingPlattform extends Plattform { int speed; - + int temp=0; public MovingPlattform(int pSpeed) { speed= pSpeed; @@ -42,10 +42,11 @@ public class MovingPlattform extends Plattform { if(this.PlayerOnPlattform()) { - Actor DerSpieler = this.getOneObjectAtOffset(0, -40, Player.class); + World theWorld= this.getWorld(); + Player DerSpieler = theWorld.getObjects(Player.class).get(0); if(DerSpieler!=null) { - DerSpieler.setLocation(DerSpieler.getX()+speed, DerSpieler.getY()); + DerSpieler.setLocation(DerSpieler.getX()+speed*3, DerSpieler.getY()); } } } diff --git a/SMIMS-Game/project.greenfoot b/SMIMS-Game/project.greenfoot index dcc22de..01a5b8a 100644 --- a/SMIMS-Game/project.greenfoot +++ b/SMIMS-Game/project.greenfoot @@ -1,19 +1,12 @@ #Greenfoot project file class.BreakingPlattform.image=Unbenannt2.png -class.Button.image=button-red.png -class.GameOverWorld.image=GameOverBackground.png class.Ground.image=weave.jpg -class.JumpBoostItem.image=mushroom.png class.MovingPlattform.image=Unbenannt.png -class.MyWorld.image=GameBackground.png class.Plattform.image=Plattform.png class.Player.image=ppl2.png -class.Projectile.image=Projectile1.png class.Spike.image=Spike.png class.SpikedPlattform.image=SpikedPlattform.png -class.StartWorld.image=StartBackground.png -class.TargetingProjectile.image=blue-draught.png -class.UnactiveSpike.image=SpikeUnactive.png +class.UnactiveSpike.image=Spike_Copy.png dependency1.from=GameOverWorld dependency1.to=Button dependency1.type=UsesDependency @@ -21,62 +14,86 @@ dependency10.from=MyWorld dependency10.to=BreakingPlattform dependency10.type=UsesDependency dependency11.from=MyWorld -dependency11.to=Projectile +dependency11.to=SpikedPlattform dependency11.type=UsesDependency dependency12.from=MyWorld -dependency12.to=TargetingProjectile +dependency12.to=Projectile dependency12.type=UsesDependency -dependency13.from=Spike -dependency13.to=GameOverWorld +dependency13.from=MyWorld +dependency13.to=TargetingProjectile dependency13.type=UsesDependency dependency14.from=Spike -dependency14.to=Player +dependency14.to=GameOverWorld dependency14.type=UsesDependency -dependency15.from=Player -dependency15.to=GameOverWorld +dependency15.from=Spike +dependency15.to=MyWorld dependency15.type=UsesDependency -dependency16.from=Player -dependency16.to=Plattform +dependency16.from=Spike +dependency16.to=Player dependency16.type=UsesDependency dependency17.from=Player -dependency17.to=Projectile +dependency17.to=GameOverWorld dependency17.type=UsesDependency -dependency18.from=Plattform -dependency18.to=MyWorld +dependency18.from=Player +dependency18.to=Plattform dependency18.type=UsesDependency -dependency19.from=Plattform -dependency19.to=Player +dependency19.from=Player +dependency19.to=PlayerProjectile dependency19.type=UsesDependency dependency2.from=PlayerTestWorld dependency2.to=Ground dependency2.type=UsesDependency -dependency20.from=MovingPlattform -dependency20.to=MyWorld +dependency20.from=Player +dependency20.to=Projectile dependency20.type=UsesDependency -dependency21.from=SpikedPlattform -dependency21.to=Spike +dependency21.from=UnactiveSpike +dependency21.to=SpikedPlattform dependency21.type=UsesDependency -dependency22.from=SpikedPlattform -dependency22.to=GameOverWorld +dependency22.from=UnactiveSpike +dependency22.to=MyWorld dependency22.type=UsesDependency -dependency23.from=SpikedPlattform -dependency23.to=MyWorld +dependency23.from=UnactiveSpike +dependency23.to=Spike dependency23.type=UsesDependency -dependency24.from=TargetingProjectile -dependency24.to=Player +dependency24.from=Plattform +dependency24.to=MyWorld dependency24.type=UsesDependency -dependency25.from=Button -dependency25.to=MyWorld +dependency25.from=Plattform +dependency25.to=Player dependency25.type=UsesDependency -dependency26.from=PowerUps -dependency26.to=Player +dependency26.from=MovingPlattform +dependency26.to=MyWorld dependency26.type=UsesDependency -dependency27.from=JumpBoostItem +dependency27.from=MovingPlattform dependency27.to=Player dependency27.type=UsesDependency +dependency28.from=SpikedPlattform +dependency28.to=Spike +dependency28.type=UsesDependency +dependency29.from=SpikedPlattform +dependency29.to=GameOverWorld +dependency29.type=UsesDependency dependency3.from=PlayerTestWorld dependency3.to=Player dependency3.type=UsesDependency +dependency30.from=SpikedPlattform +dependency30.to=MyWorld +dependency30.type=UsesDependency +dependency31.from=SpikedPlattform +dependency31.to=UnactiveSpike +dependency31.type=UsesDependency +dependency32.from=TargetingProjectile +dependency32.to=Player +dependency32.type=UsesDependency +dependency33.from=Button +dependency33.to=MyWorld +dependency33.type=UsesDependency +dependency34.from=PowerUps +dependency34.to=Player +dependency34.type=UsesDependency +dependency35.from=JumpBoostItem +dependency35.to=Player +dependency35.type=UsesDependency dependency4.from=PlayerTestWorld dependency4.to=JumpBoostItem dependency4.type=UsesDependency @@ -95,13 +112,13 @@ dependency8.type=UsesDependency dependency9.from=MyWorld dependency9.to=MovingPlattform dependency9.type=UsesDependency -editor.fx.0.height=737 -editor.fx.0.width=814 -editor.fx.0.x=360 -editor.fx.0.y=26 -height=830 -package.numDependencies=27 -package.numTargets=18 +editor.fx.0.height=739 +editor.fx.0.width=816 +editor.fx.0.x=516 +editor.fx.0.y=224 +height=736 +package.numDependencies=35 +package.numTargets=19 project.charset=UTF-8 publish.hasSource=false publish.locked=true @@ -173,19 +190,26 @@ target16.width=120 target16.x=0 target16.y=0 target17.height=70 -target17.name=SpikedPlattform +target17.name=PlayerProjectile target17.showInterface=false target17.type=ClassTarget target17.width=120 target17.x=0 target17.y=0 target18.height=70 -target18.name=MyWorld +target18.name=SpikedPlattform target18.showInterface=false target18.type=ClassTarget target18.width=120 target18.x=0 target18.y=0 +target19.height=70 +target19.name=MyWorld +target19.showInterface=false +target19.type=ClassTarget +target19.width=120 +target19.x=0 +target19.y=0 target2.height=70 target2.name=Player target2.showInterface=false @@ -243,7 +267,7 @@ target9.width=120 target9.x=0 target9.y=0 version=3.1.0 -width=1550 -world.lastInstantiated=MyWorld -xPosition=0 -yPosition=0 +width=856 +world.lastInstantiated=StartWorld +xPosition=481 +yPosition=94 From a0de2fb58d03e1a4624e8ba8bd4f6aa5a7f4d102 Mon Sep 17 00:00:00 2001 From: Caspar Date: Wed, 16 Sep 2026 17:16:52 +0200 Subject: [PATCH 2/3] Startplattform (nicht in MyWorld) --- SMIMS-Game/BreakingPlattform.java | 2 +- SMIMS-Game/Groundflower.class | Bin 0 -> 1113 bytes SMIMS-Game/Groundflower.ctxt | 11 ++ SMIMS-Game/Groundflower.java | 37 ++++ SMIMS-Game/MyWorld.class | Bin 2108 -> 2108 bytes SMIMS-Game/MyWorld.java | 2 + SMIMS-Game/Player.class | Bin 3818 -> 4142 bytes SMIMS-Game/Player.java | 24 ++- SMIMS-Game/TemporaryGround.class | Bin 0 -> 1076 bytes SMIMS-Game/TemporaryGround.ctxt | 15 ++ SMIMS-Game/TemporaryGround.java | 59 ++++++ SMIMS-Game/images/PlattformStart_Copy.png | Bin 0 -> 3954 bytes SMIMS-Game/images/TemporaryGround.png | Bin 0 -> 3612 bytes SMIMS-Game/images/TemporaryIsBreaking.jpg | Bin 0 -> 13265 bytes SMIMS-Game/images/TemporaryIsBreaking.png | Bin 0 -> 38371 bytes SMIMS-Game/project.greenfoot | 212 +++++++++++++++------- 16 files changed, 287 insertions(+), 75 deletions(-) create mode 100644 SMIMS-Game/Groundflower.class create mode 100644 SMIMS-Game/Groundflower.ctxt create mode 100644 SMIMS-Game/Groundflower.java create mode 100644 SMIMS-Game/TemporaryGround.class create mode 100644 SMIMS-Game/TemporaryGround.ctxt create mode 100644 SMIMS-Game/TemporaryGround.java create mode 100644 SMIMS-Game/images/PlattformStart_Copy.png create mode 100644 SMIMS-Game/images/TemporaryGround.png create mode 100644 SMIMS-Game/images/TemporaryIsBreaking.jpg create mode 100644 SMIMS-Game/images/TemporaryIsBreaking.png diff --git a/SMIMS-Game/BreakingPlattform.java b/SMIMS-Game/BreakingPlattform.java index 64bfea4..ef60cdf 100644 --- a/SMIMS-Game/BreakingPlattform.java +++ b/SMIMS-Game/BreakingPlattform.java @@ -25,7 +25,7 @@ public class BreakingPlattform extends Plattform { IsBreaking= true; //Greenfoot.playSound("...") - this.setImage("BreakingPlattform2.png"); //untested + this.setImage("BreakingPlattform2.png"); } if(IsBreaking) diff --git a/SMIMS-Game/Groundflower.class b/SMIMS-Game/Groundflower.class new file mode 100644 index 0000000000000000000000000000000000000000..0d343b5b3b0b0c3f9f3b8c8e7529a01aa01c1f7d GIT binary patch literal 1113 zcmZ9L>r&G|6vzMD7ShX7pam2`xocXKdcP1v0R=h}kr@Q^n`yeV!H_WN7KX?15uDLF z`oZzDPvMg|o=qZln9inW_nh-Pmp%LI&-WhyR#43%fux2MM-O@#(%b&22zHNK482Q^ z=g4J-q+Z&~AdQTMEJqHUfo}wU+p8bA%9_0D?ZA?b?=dhUrjh69SGfL~I28@CW!cSL zPYO@z2003$PWo-TDe9|d+pcvc0u4hHG?JCw2*)K{W*BJ*StaM7C2Z+TD1p_nZpP2Y|?+M`#i5$6uaUEHH~6KCHK+&V*1FPV)%2=Bo6WhFc` zvUq@p8Xj>xR`~u4dWH=7ZwjZ;l*)9G!@v^VX&{dL6A=~9Fr;^ZS8VAAR1MXz=GO&5 zO~(^k?W39q-dHu4P6{exch3qOwT}-|vgy!G<<0JSF{lNWO>Ng~-*xFO>DrIO5unn{ zXaLBjZ%118hga5d%*yWg?Z6i6j*2$e4O~#SiYe+~f`*#Wq9LVkie#E<`aY%IB59S5 zm%oCQ2ifm0&_2;Vfo1xtcK~F_Cx>UsDze3MdL)Xudd@Lur#P8%2Ys{#{zLLelA=J6 zA|*521U!7(V6IH5&e1CMyzk(q5@_A-;QmMCltk-^3YQGqp=tmokjEs( ZF^yUJ{cp=$9CAIhXR{P*gTw?j{{li5*!=(i literal 0 HcmV?d00001 diff --git a/SMIMS-Game/Groundflower.ctxt b/SMIMS-Game/Groundflower.ctxt new file mode 100644 index 0000000..973ef36 --- /dev/null +++ b/SMIMS-Game/Groundflower.ctxt @@ -0,0 +1,11 @@ +#BlueJ class context +comment0.target=Groundflower +comment0.text=\r\n\ Write\ a\ description\ of\ class\ StarPowerUp\ here.\r\n\ \r\n\ @author\ (your\ name)\ \r\n\ @version\ (a\ version\ number\ or\ a\ date)\r\n +comment1.params= +comment1.target=void\ act() +comment1.text=\r\n\ Act\ -\ do\ whatever\ the\ StarPowerUp\ wants\ to\ do.\ This\ method\ is\ called\ whenever\r\n\ the\ 'Act'\ or\ 'Run'\ button\ gets\ pressed\ in\ the\ environment.\r\n +comment2.params= +comment2.target=void\ collect() +comment3.params= +comment3.target=void\ bewegeNachUnten() +numComments=4 diff --git a/SMIMS-Game/Groundflower.java b/SMIMS-Game/Groundflower.java new file mode 100644 index 0000000..90de034 --- /dev/null +++ b/SMIMS-Game/Groundflower.java @@ -0,0 +1,37 @@ +import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) + +/** + * Write a description of class StarPowerUp here. + * + * @author (your name) + * @version (a version number or a date) + */ +public class Groundflower extends PowerUps +{ + int duration= 60*8; //15 Sekunden + /** + * Act - do whatever the StarPowerUp wants to do. This method is called whenever + * the 'Act' or 'Run' button gets pressed in the environment. + */ + public void act() + { + bewegeNachUnten(); + this.touchedByPlayer(); + // Add your action code here. + } + + @ Override void collect() + { + Player player = getIntersectingObjects(Player.class).get(0); + player.reveivePowerUp(duration, "GroundPower"); + } + + public void bewegeNachUnten() + { + this.setLocation(this.getX(), this.getY()+2); + if(this.getY()>=this.getWorld().getHeight()) + { + this.getWorld().removeObject(this); + } + } +} diff --git a/SMIMS-Game/MyWorld.class b/SMIMS-Game/MyWorld.class index e1c9b0283e6112082df26155ff7c6decf232a65c..a2634ef7eae79e46b59d0201f15c2bbfbe345131 100644 GIT binary patch delta 144 zcmdlZut#7+EGwhg<~UY2Mn@|K76xku4h9!3-xD!X`gutB{OjU}uN|nh?z(#}LDy$`H$- o!4S`2#E>|-jJ;Me1t^;eluZN5rZcE8WB~2R0@{%?nTNvw0D^oP0RR91 diff --git a/SMIMS-Game/MyWorld.java b/SMIMS-Game/MyWorld.java index 2d78cda..1bc35f2 100644 --- a/SMIMS-Game/MyWorld.java +++ b/SMIMS-Game/MyWorld.java @@ -50,6 +50,7 @@ public class MyWorld extends World plattform2.setLocation(320,367); plattform2.setLocation(312,371); plattform2.setLocation(308,382); + } public void act() @@ -83,6 +84,7 @@ public class MyWorld extends World addObject(new SpikedPlattform(100), Greenfoot.getRandomNumber(400), 6); //Nach Links bewegende Plattform } + } public void projectile(){ diff --git a/SMIMS-Game/Player.class b/SMIMS-Game/Player.class index f00f6aa7bcbf10ee419c06cd3ec749af5198d946..4d3d46960fcee365c570e8223db11fbc2481589e 100644 GIT binary patch delta 1115 zcmY+CYiv_x7{`C7=N#Ieo~>zhbF=LvkxeM8O_-U1nat{pnoLnbFa#2)aJoyN2hTbt ziKZV2UZT-xqeMR}(GQG>Fa}#;0|w(FxOtm`f_Fdo#ZP=OF~-|-+LLTH>2o>n|M@@9 z`+wfw5=WLAv;Ry@0~vl9Gj8g|07n!;4?Ff?e)|*lkmdL}st{gp?c8NMS!Yl6#GsR7 zCdcVjFnX-Q+Nb-iZH0jl{Y;pYX;JX^4Lr1SS7DF)?WD;hQwpj;73!8hx}v*3yE~iS zk#Uq(4fJ;R<*fB~*PxRv^x1g@O-eVo$a5w-)5rhRUr^$O zUh65_*|A+A(%s`&Rz7Fjg>>apN9lS0h%!@Z4&1MtFXaL&V;AJECW_cJ7r7)};Ukua zohf}77!uU7U`NXWD(9gt3sOgIYiPj73a?;auuBSNgR$m?g0@8k8oovs-|FEFBYod_ zA&R1j?IbL+H}C)nx>#UnTEw8DB!nRC5eyo0(l8TRTXf-@39^MJxgt06V++~G5(RjU zdzh6d$YX3{j!&c-raW4m2|lf85NDXrBytCQjnDZ4RXV-GJh#YzUrLRuRQ2pDIde6L zq5jLgl)`3{=z6!=BlEm%w%z5<_SUpZ_ok> ztKKB{alGbT%8cszImy7Q461`ok(>{<2`8`{86&d0Z-y#3iBWzA4$GL5St;vn!V#cZ2 z>L#%X{K+zF*659TbhOOaB;yM2a=VwRlbrBzj?q||QzO(j>Zcgp7(2n)2v;J$mSUOL z$E1UbD{2x$>|P4&V~7_i@)ED|GH=Lg_e*p@mVJgdW!-O8gieYm`&rGmd{6FqUiw_n6gaaUY*-sW=)OmDjgmPixidxa&11 zPcNQaVNs-|>FT{j{Zp0{ic*!fV3?Yd9gML3Z;@Zg2DqAXkjPwW;jV3Zx zC9^d;NXcZKJiA;W2BY~xwI63x{uuR~CCNEjIA5b?=6_0kOqAEWF;SJw7o}`Edb(}U z&O7Z3+?v)3br$UL(#m&@S?{7Vr7_VSpIBh(CJmmvGf5%V9-pqPeNNtKaQ= getWorld().getHeight()){ Greenfoot.setWorld(new GameOverWorld()); @@ -89,8 +89,8 @@ public class Player extends Actor } } onGround = landed; - } - + } + public void shootProjectile(){ projectileTimer++; MouseInfo mouse = Greenfoot.getMouseInfo(); @@ -118,7 +118,7 @@ public class Player extends Actor return false; } } - + public void handlePowerUps(){ if (jumpBoostDuration >= 0){ jumpBoostDuration -= 1; @@ -126,7 +126,7 @@ public class Player extends Actor currentJumpStrength = defaultJumpStrength; } } - + public void reveivePowerUp(int duration, String type){ switch(type){ case "dummy": @@ -135,6 +135,16 @@ public class Player extends Actor currentJumpStrength = defaultJumpStrength; currentJumpStrength += jumpBoostStrength; jumpBoostDuration = duration; + case "GroundPower": + World theWorld= this.getWorld(); + if(!theWorld.getObjects(TemporaryGround.class).isEmpty()) + { + theWorld.getObjects(TemporaryGround.class).get(0).RefreshLifeToDuration(duration); + } + else + { + theWorld.addObject((new TemporaryGround(duration)), 200, 550); + } } } } diff --git a/SMIMS-Game/TemporaryGround.class b/SMIMS-Game/TemporaryGround.class new file mode 100644 index 0000000000000000000000000000000000000000..5e2ff6b4ff461f29b84e90a8ef2dcc389c9c8d62 GIT binary patch literal 1076 zcmZuw%Tg0T6g|x(lh*`DNI*eEz(+DlP}GHD;j@HP1d9db&^Fd+s^+c7Fc){sX{6tR*o9BZi2DC`^IG^Og*Pea~+T znD-pl2{r_bLa~}a9Eli`7E-VTCU#Z38(XrwB|9CZG4V#H zja!(|Ia77@ax_NYXDnnfC6KD9J>_=mvZs9JmXo~8TbS0mQY}w)YfZK7)S4PUW8tjE zV_{W|%~?37v9#-Ld;XtVahw;J8OkkpANfiiP-v;+Hgwtr3yWA1h<8;`Zp(%e$QLSa zP(-gIIeouYwsz4SMIflWGh}x zwyM&1^f?40LDT87ag`CubpfmMS1$}%3+QVnkhOzt*$MOWFVw!Ty3LBSuXepBJzoZn z=W>RflYMf>>-jbH)X^$(BZW%ZB+bY91^|OA=fEBGjQd~Cjo&B)f0wvk=IIsVbbQYK z24NdVh}n@Nr0uyQOnxOkhAUjBnE}o{LWTs=7{?^JGbr@$`uQlr=7~(W$~%r6*IZH^2`|M7u4 WG_Oss}Oxz4yT-1rSN8@BNP literal 0 HcmV?d00001 diff --git a/SMIMS-Game/TemporaryGround.ctxt b/SMIMS-Game/TemporaryGround.ctxt new file mode 100644 index 0000000..6babc9e --- /dev/null +++ b/SMIMS-Game/TemporaryGround.ctxt @@ -0,0 +1,15 @@ +#BlueJ class context +comment0.target=TemporaryGround +comment0.text=\r\n\ Write\ a\ description\ of\ class\ TemporaryGround\ here.\r\n\ \r\n\ @author\ (your\ name)\ \r\n\ @version\ (a\ version\ number\ or\ a\ date)\r\n +comment1.params=pLebensdauer +comment1.target=TemporaryGround(int) +comment2.params= +comment2.target=void\ act() +comment2.text=\r\n\ Act\ -\ do\ whatever\ the\ TemporaryGround\ wants\ to\ do.\ This\ method\ is\ called\ whenever\r\n\ the\ 'Act'\ or\ 'Run'\ button\ gets\ pressed\ in\ the\ environment.\r\n +comment3.params= +comment3.target=void\ warning() +comment4.params= +comment4.target=void\ noMoreWarning() +comment5.params=pDuration +comment5.target=void\ RefreshLifeToDuration(int) +numComments=6 diff --git a/SMIMS-Game/TemporaryGround.java b/SMIMS-Game/TemporaryGround.java new file mode 100644 index 0000000..9d83b38 --- /dev/null +++ b/SMIMS-Game/TemporaryGround.java @@ -0,0 +1,59 @@ +import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) + +/** + * Write a description of class TemporaryGround here. + * + * @author (your name) + * @version (a version number or a date) + */ +public class TemporaryGround extends Plattform +{ + private int Lebensdauer; + boolean warningHasHappend=false; + boolean deWarningHasHappend=true; + public TemporaryGround(int pLebensdauer) + { + Lebensdauer=pLebensdauer; + } + + /** + * Act - do whatever the TemporaryGround wants to do. This method is called whenever + * the 'Act' or 'Run' button gets pressed in the environment. + */ + public void act() + { + // Add your action code here. + Lebensdauer--; + if(Lebensdauer==0) + { + this.loescheMich(); + } + if(Lebensdauer<60*3 && warningHasHappend==false) //3 Sekunden + { + this.warning(); + } + if(Lebensdauer>=60*3 && deWarningHasHappend==false) + { + this.noMoreWarning(); + } + } + + public void warning() + { + this.setImage("TemporaryIsBreaking.png"); + warningHasHappend=true; + deWarningHasHappend=false; + } + + public void noMoreWarning() + { + this.setImage("TemporaryGround.png"); + warningHasHappend=false; + deWarningHasHappend=true; + } + + public void RefreshLifeToDuration(int pDuration) + { + Lebensdauer=pDuration; + } +} diff --git a/SMIMS-Game/images/PlattformStart_Copy.png b/SMIMS-Game/images/PlattformStart_Copy.png new file mode 100644 index 0000000000000000000000000000000000000000..b4e3c7fc9f9398886fcd89105e9306f2b5ee16b1 GIT binary patch literal 3954 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 literal 0 HcmV?d00001 diff --git a/SMIMS-Game/images/TemporaryGround.png b/SMIMS-Game/images/TemporaryGround.png new file mode 100644 index 0000000000000000000000000000000000000000..e7d75f68b84139be9e67df3636b4a43a8b433865 GIT binary patch literal 3612 zcmb7HX;@Q9){YxSBN!0@Wr@%#B9IW)K!6BhgM*-gY_etpA|V74lCT797I6dGu>~AO zXlX%FmWV8}MFb3r5)>hkz_1Mj8X`;B1Nhza^waar&-rohJyo~roVVUv=e%{VpLcUo z+)0JY zdl%K&mj(hs_Q|g;Nra%=z=U+tMIXA4>sf1jWCR>bh{O@$tOzPF8U(Vzu&7vkIFWuB zM+_xVZ1ra9xq6351Y13Cb5~M3Fv$vG~X=n?035g!+hw<73a>=bv~u&eRt}hczV_A&~^E5td+zG$NRq5-iP;D3cH*PWR97bW+HF;!|jU(f|;GkiS77;l^^v za@+b`G>HhHkcYHG+WhhUzxr$tav=W?nBBj7fVBeFU(Cp9`ios61)!7(aA){SE(8SH zqkYEF{vs<-lIKS&L_yR1)HOt?J3&@ivWEJkcxAG24f~7-Pw(%|U;U3glzKkhUiT7S zyLNcX7}P;sk_JtNx$%6n1AdFO=7ofeqWVy7$7Zuao*T$T!=Sq}}Bu zsy$GEGGZM@I|q5=r#~olCMtzz|7#d#9>Oy$t+H zz0}w+-lw&u8mxNJ;Z*3d!&z8YKJL&O(~vhdkoD*s>}qpeS!L5qX@p<+Ki;|(-|_S` zZ##GH9K%Li!m_y(An@|MYwn6?4{|T_ob?*CzU=M=f4QOJGbo9-?%bKpY%mgMGs^cV zrMH9`Z`l(Bru>Xn?g(WSC>7HJ>}uMxZpm(v&VrlgZSuD_8oC&CeAd?1o}Qcg1OT~98SL#fp}G%qtoN|e!<~0@El3ImVTS3oY;roDH&ry<)+gSSz8dVJ`s}XJONDYx zCn|BtZ|xNMpDY!W9hdkn>l0Nb{d-%d=1i$PsfR_`VpOWeftwAWbpJ}Js)KL#oyWPK zgr=9(nxL_7uZRP)(>n8`Rv*;yaPAUdty z!%c=`#a_>Pe&G?j_Re#5CU)44B{{9!XlKtF?@{Bw$6Kno%mHgq>ppMbBlX|utAS@w zYm&F+WHd_;Y_3g}KmD=9M1uzz$y*FYb$_X z*_=b;uOY8_EQ7d_3d*CpK;A_8dOLQNr0#bp|WjOUn*XIrE~N9tSb zve=CGkwu@s2A+^KVk1T^Rv$zmml1{Q-Qt#EW3BopGVhDedfw05SQa`}H_3)LMq&By z5@hjbsJF+5{9x)*hVzMpBd~}duukjpa@7;3nu+~W2X`hoLLtu|f43y`gA~5e$)E>s z$2M#j>$elU&_HfC>CODQ|4F=d<#+(ZpGj);X{XB8jhc1&Fr1i!*8zYTVE3^NXmO~V zO>Ldc+pCbWHJ0`dUU1KB-%H|C2wg-T9Qfs#znE-~hY8|#$lh-fMt~vl^)K2HFG^oQh^vPs65Ve1cGF?7Z>3^9T ze7k_ZkrY17?ZT7t+q|od00-ZHz$Bt?Zf9p&HOr$>?CYY@GrAL8jWrzr%SyM;k%_)F zApYDvXC@`|b^&6z(z~rr2ms1xq91Z)>%3Jq?JBmmLMt5DPu~<5Qbtk7*pFr5%jx>u-wOsAUHoV=!XjtQpFAk5 zxKs+CUl&SZ0zyYoZX2&Tx%VP0G(=EllLrz%Yqtaon$Da${f+xUSj1 zAa}H(-(h7{Dh{J_W|L>F0#9N>uVQn(CSn5o1TkKMDnNFMyGb|h7jf#!N+U%2+z7v^ zI(S@8a*7ncxletgpdsm>k(*oI9{Zrj)N~3LE$I%t^7^jYp9y4uMdV_T%ZArAu&(Sv z=Q2HB|7P51EXVAY*2|f#lg+wo&Fo+HvCpOjjiMX=G1tX)fqw7o{ z13e4sjT0?C8eGOKNn+HTve@Bh3-t%jts1nl8nyd^MG9z;52k_qcnFfj8ok0;NuEQE zuVvAW0&2N`A|Kae$d~Hxm2RMpwoil(aB_9Z_X{Uy@%F`5%~ z$pK@m)lI#1mi+MNTnX^aZam6$ch~*b{&$lP(^;W5;|csz@f;Jd$loN20`nGV)1Gm0D$I?{~PySJ>Du3veML>XV$h5DJ%8 zUcuUWN|N66m}OK&pc_xJt@ECjoQO|Mto}n3S4STIE?w1Zynd3Z*>wJtt21erLT63; zI>9%jrGpmz!KLTiS1wR4oqIC_)U}_tjJcC$GM0IG${qf_#W>qtuaW|(D9xgCP^I(~ z;HV~=S?<1nBlclX!=7QapO`SRy$q;$1G&<0LyBhn>$|T^_oT!GSh9}-aPr)WC+~!+ z(J^HuzmME}`uMk(d+urIDOakw;3*`0W^hR1=~i^l?Tc~GJvc9ykM-vJ^?j5kC@)AD z=!c%6=dK(ta7QO79P02KB|{0VPN*T`ehy?{fmL^{d~@ZS*-r d3r7o9_IijkmBG7HQslpAXHL60mN^6`{~z87;e-GH literal 0 HcmV?d00001 diff --git a/SMIMS-Game/images/TemporaryIsBreaking.jpg b/SMIMS-Game/images/TemporaryIsBreaking.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d4012ede2894861877572c92716f9bef86d2bd30 GIT binary patch literal 13265 zcmbWe1zc3!*FSm)rA3gIk`4iB6a*D%VWbp&VeC zx#RPD?|bk2Jn!f8f9~Bg=kuAfPt5wRv-a9+ukSkOpXe3fuClz6Jb;CT1t?-Z0D2W* zk@E&y1AwY3zykmPKIRxXfP?vkh57u|(DQ&SfQ^Oq=lfp`=N8VNb{iKL=N8^=JiI>} zJ^>K{K0YBn9v&eHAt4blrr{CXAtfQc^XK=UoBX-_&sCT&F+LvtpELfyHFP^bh7Sl~ zo#9}y0N7+$IAmDpZh#3R>n#kTKcN1rVPWIo-nxwuiI50$Ld{)__&7M&7-4VW;$qJB z#~cT6$!?K95PW|7p1K(xiwlL&`?#<8tS>4$C^g28*@Vqq0|^MJsA*{F*f}`4xOqfG z#l$5ZKaqVYC$FHWq^zl>t)r`_Z(w0*Wo=^%wsUj$@bvQb@%<3=F*qbNEId9TF)2Ca z)92LeoZP%``2~eVl~vU>wRQCkjh$WH-+Oxd`Ul1*Ca0!ne$LLVuB~ruZf)=E?!iw^ z&(1G?BQCH0;KBlM{sZg3k^K!983q?N<{9AP{lSHW?SsiS`F_#@-1oYhev2&*8cob3S>?L?e3XCp@A~Q z^l*AqGi3O3+I_DRikom|<0#DceU)gr?ZW>x6Dm;_N%VEc#S*e8CUSUWDi1}Q^X_L2KsGnv}z7xiw|iIGP_7p0P9+-29Ki`)$^L z2Rc;qrtul7O?{nmA68R(6M0GgT#CFqwmGgZk}y!}9LTAckh&;%%U8V|j0Omzzp{7F zNVCH;a=x3<R$Q`ULnT;JuyD_c_Hn;Zv+ z>lUlVr0F3(lPJ1ZG5NCQ2TY*Hw8isMqG;fj4I*KcS1x>B^|(5;nN(YN$zVvyiV?FdLz?|_RFin1pL4aoiuYCC4qLIWF5I@ZAX zmPb2jb+9svnY=g)n_C*MUq>cQr01wAc}1kf2ptXj8JoKM-$DbVA&4Y2@C<|tU7<$< zNZ%L)M5ep!3fr3%4FKC1;igWHki1b$sE{K9=!$e98tC&7t$PO%up#N5i-{50wFrM? z5u!99!0%}7I`D|f`(Pd5wr1^!IdhWsto#CZ?jA{xJr(gKS&#Q#eL=oF`fpI5e6&T_bQ+{YIxWq=s!Ban%n^R2WiDy^9xE?tgi2zD z)vbZ>%SJ4(l9HT>THjjEi#%|VmiZ=UrSicQn}5VADS~G?+Nqgj&B0A;97$KPt8^R0vcv|hI_1l!Wu;by~X|f5bo6$yj2)R zQ8KHKkGoS_dTJPkr#k&x4PS;Yaa%-La9evN+lPfY&wJ+jxz)!FK|AZm(7;Z>aS94& zFAEuBB;vx|pj4>e@^se0YIA9O+S&(qRfSYOz0ggbG;<1UnlS>>*>3z04z`6kT*iE9 zTRlbtgbt+)xrN#hHsj_n?A^X%MPIa$uQ*r^r9sQi8 zqnbMcf490xXxA!=9s1)QWRL4FB6wgMI}Dv=)8DLM2$V zxMXoZ!gpFJAksDPk0W^n`{LA|jI_rGjf;CJVn1lDct$FEagE;IQ~pKi75fFxA~xuL zp~2mdY9~ z`0{sNe+yd$9r(eX3V2Y&FX;peJdRA>r@4ba+$8&eeg5;aPD(Q)%s~2wH6Mis5KW8D z)_^DtyYh{_eU}vZvi&91!_VEXja#*|6^mZ>;i_lf&J=Og!o%vPY@ha4D%4c_?eEc& zHdU5%W=t8q#M(I${6yV-;eqAX!;{k&(i=9FO(}evY%RNPPY?gCSyPUCD@>t*zZ;y% zD2lKJ&U4hBnp}62vhoo%+E!h00_SWn$ zAPo}P`KmWJK4COfs#>m8=D7WC@a~d+ObYS6BCh+-EqEyharATw*||FJ*CF^YV}B~M zNB2YC6YUDUtiW^wmE!b?*DBgo&C6v2YN%6C{j|H&$b`O!f2m⁣z8yIqZm|FYgwskHg)`@CA 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 literal 0 HcmV?d00001 diff --git a/SMIMS-Game/project.greenfoot b/SMIMS-Game/project.greenfoot index dcc22de..799973b 100644 --- a/SMIMS-Game/project.greenfoot +++ b/SMIMS-Game/project.greenfoot @@ -1,85 +1,128 @@ #Greenfoot project file class.BreakingPlattform.image=Unbenannt2.png -class.Button.image=button-red.png -class.GameOverWorld.image=GameOverBackground.png class.Ground.image=weave.jpg -class.JumpBoostItem.image=mushroom.png +class.Groundflower.image=beeper.png class.MovingPlattform.image=Unbenannt.png -class.MyWorld.image=GameBackground.png class.Plattform.image=Plattform.png class.Player.image=ppl2.png -class.Projectile.image=Projectile1.png class.Spike.image=Spike.png class.SpikedPlattform.image=SpikedPlattform.png -class.StartWorld.image=StartBackground.png -class.TargetingProjectile.image=blue-draught.png -class.UnactiveSpike.image=SpikeUnactive.png +class.TemporaryGround.image=TemporaryGround.png +class.UnactiveSpike.image=Spike_Copy.png dependency1.from=GameOverWorld dependency1.to=Button dependency1.type=UsesDependency dependency10.from=MyWorld -dependency10.to=BreakingPlattform +dependency10.to=MovingPlattform dependency10.type=UsesDependency dependency11.from=MyWorld -dependency11.to=Projectile +dependency11.to=BreakingPlattform dependency11.type=UsesDependency dependency12.from=MyWorld -dependency12.to=TargetingProjectile +dependency12.to=SpikedPlattform dependency12.type=UsesDependency -dependency13.from=Spike -dependency13.to=GameOverWorld +dependency13.from=MyWorld +dependency13.to=Groundflower dependency13.type=UsesDependency -dependency14.from=Spike -dependency14.to=Player +dependency14.from=MyWorld +dependency14.to=Projectile dependency14.type=UsesDependency -dependency15.from=Player -dependency15.to=GameOverWorld +dependency15.from=MyWorld +dependency15.to=TargetingProjectile dependency15.type=UsesDependency -dependency16.from=Player -dependency16.to=Plattform +dependency16.from=Spike +dependency16.to=GameOverWorld dependency16.type=UsesDependency -dependency17.from=Player -dependency17.to=Projectile +dependency17.from=Spike +dependency17.to=MyWorld dependency17.type=UsesDependency -dependency18.from=Plattform -dependency18.to=MyWorld +dependency18.from=Spike +dependency18.to=Player dependency18.type=UsesDependency -dependency19.from=Plattform -dependency19.to=Player +dependency19.from=Player +dependency19.to=GameOverWorld dependency19.type=UsesDependency dependency2.from=PlayerTestWorld dependency2.to=Ground dependency2.type=UsesDependency -dependency20.from=MovingPlattform -dependency20.to=MyWorld +dependency20.from=Player +dependency20.to=Plattform dependency20.type=UsesDependency -dependency21.from=SpikedPlattform -dependency21.to=Spike +dependency21.from=Player +dependency21.to=PlayerProjectile dependency21.type=UsesDependency -dependency22.from=SpikedPlattform -dependency22.to=GameOverWorld +dependency22.from=Player +dependency22.to=TemporaryGround dependency22.type=UsesDependency -dependency23.from=SpikedPlattform -dependency23.to=MyWorld +dependency23.from=Player +dependency23.to=Projectile dependency23.type=UsesDependency -dependency24.from=TargetingProjectile -dependency24.to=Player +dependency24.from=Player +dependency24.to=Enemy dependency24.type=UsesDependency -dependency25.from=Button -dependency25.to=MyWorld +dependency25.from=UnactiveSpike +dependency25.to=SpikedPlattform dependency25.type=UsesDependency -dependency26.from=PowerUps -dependency26.to=Player +dependency26.from=UnactiveSpike +dependency26.to=MyWorld dependency26.type=UsesDependency -dependency27.from=JumpBoostItem -dependency27.to=Player +dependency27.from=UnactiveSpike +dependency27.to=Spike dependency27.type=UsesDependency +dependency28.from=Plattform +dependency28.to=MyWorld +dependency28.type=UsesDependency +dependency29.from=Plattform +dependency29.to=Player +dependency29.type=UsesDependency dependency3.from=PlayerTestWorld dependency3.to=Player dependency3.type=UsesDependency +dependency30.from=MovingPlattform +dependency30.to=MyWorld +dependency30.type=UsesDependency +dependency31.from=MovingPlattform +dependency31.to=Player +dependency31.type=UsesDependency +dependency32.from=SpikedPlattform +dependency32.to=Spike +dependency32.type=UsesDependency +dependency33.from=SpikedPlattform +dependency33.to=GameOverWorld +dependency33.type=UsesDependency +dependency34.from=SpikedPlattform +dependency34.to=MyWorld +dependency34.type=UsesDependency +dependency35.from=SpikedPlattform +dependency35.to=UnactiveSpike +dependency35.type=UsesDependency +dependency36.from=TargetingProjectile +dependency36.to=Player +dependency36.type=UsesDependency +dependency37.from=Button +dependency37.to=MyWorld +dependency37.type=UsesDependency +dependency38.from=PowerUps +dependency38.to=Player +dependency38.type=UsesDependency +dependency39.from=Groundflower +dependency39.to=Player +dependency39.type=UsesDependency dependency4.from=PlayerTestWorld dependency4.to=JumpBoostItem dependency4.type=UsesDependency +dependency40.from=JumpBoostItem +dependency40.to=Player +dependency40.type=UsesDependency +dependency41.from=Enemy +dependency41.to=Player +dependency41.type=UsesDependency +dependency42.from=Enemy +dependency42.to=EnemyProjectile +dependency42.type=UsesDependency +dependency43.from=PlayerProjectile +dependency43.to=Enemy +dependency43.type=UsesDependency dependency5.from=StartWorld dependency5.to=Button dependency5.type=UsesDependency @@ -93,15 +136,15 @@ dependency8.from=MyWorld dependency8.to=Plattform dependency8.type=UsesDependency dependency9.from=MyWorld -dependency9.to=MovingPlattform +dependency9.to=TemporaryGround dependency9.type=UsesDependency -editor.fx.0.height=737 -editor.fx.0.width=814 -editor.fx.0.x=360 -editor.fx.0.y=26 -height=830 -package.numDependencies=27 -package.numTargets=18 +editor.fx.0.height=739 +editor.fx.0.width=816 +editor.fx.0.x=869 +editor.fx.0.y=190 +height=1048 +package.numDependencies=43 +package.numTargets=23 project.charset=UTF-8 publish.hasSource=false publish.locked=true @@ -124,68 +167,75 @@ target1.width=120 target1.x=0 target1.y=0 target10.height=70 -target10.name=StartWorld +target10.name=PlayerTestWorld target10.showInterface=false target10.type=ClassTarget target10.width=120 target10.x=0 target10.y=0 target11.height=70 -target11.name=Plattform +target11.name=StartWorld target11.showInterface=false target11.type=ClassTarget target11.width=120 target11.x=0 target11.y=0 target12.height=70 -target12.name=TargetingProjectile +target12.name=Plattform target12.showInterface=false target12.type=ClassTarget target12.width=120 target12.x=0 target12.y=0 target13.height=70 -target13.name=Projectile +target13.name=TargetingProjectile target13.showInterface=false target13.type=ClassTarget target13.width=120 target13.x=0 target13.y=0 target14.height=70 -target14.name=Score +target14.name=Projectile target14.showInterface=false target14.type=ClassTarget target14.width=120 target14.x=0 target14.y=0 target15.height=70 -target15.name=Button +target15.name=TemporaryGround target15.showInterface=false target15.type=ClassTarget target15.width=120 target15.x=0 target15.y=0 target16.height=70 -target16.name=PowerUps +target16.name=Score target16.showInterface=false target16.type=ClassTarget target16.width=120 target16.x=0 target16.y=0 target17.height=70 -target17.name=SpikedPlattform +target17.name=Button target17.showInterface=false target17.type=ClassTarget target17.width=120 target17.x=0 target17.y=0 target18.height=70 -target18.name=MyWorld +target18.name=EnemyProjectile target18.showInterface=false target18.type=ClassTarget target18.width=120 target18.x=0 target18.y=0 +target19.height=70 +target19.name=PowerUps +target19.showInterface=false +target19.type=ClassTarget +target19.width=120 +target19.x=0 +target19.y=0 target2.height=70 target2.name=Player target2.showInterface=false @@ -193,57 +243,85 @@ target2.type=ClassTarget target2.width=120 target2.x=0 target2.y=0 +target20.height=70 +target20.name=Enemy +target20.showInterface=false +target20.type=ClassTarget +target20.width=120 +target20.x=0 +target20.y=0 +target21.height=70 +target21.name=PlayerProjectile +target21.showInterface=false +target21.type=ClassTarget +target21.width=120 +target21.x=0 +target21.y=0 +target22.height=70 +target22.name=SpikedPlattform +target22.showInterface=false +target22.type=ClassTarget +target22.width=120 +target22.x=0 +target22.y=0 +target23.height=70 +target23.name=MyWorld +target23.showInterface=false +target23.type=ClassTarget +target23.width=120 +target23.x=0 +target23.y=0 target3.height=70 -target3.name=MovingPlattform +target3.name=Groundflower target3.showInterface=false target3.type=ClassTarget target3.width=120 target3.x=0 target3.y=0 target4.height=70 -target4.name=Ground +target4.name=MovingPlattform target4.showInterface=false target4.type=ClassTarget target4.width=120 target4.x=0 target4.y=0 target5.height=70 -target5.name=UnactiveSpike +target5.name=Ground target5.showInterface=false target5.type=ClassTarget target5.width=120 target5.x=0 target5.y=0 target6.height=70 -target6.name=JumpBoostItem +target6.name=UnactiveSpike target6.showInterface=false target6.type=ClassTarget target6.width=120 target6.x=0 target6.y=0 target7.height=70 -target7.name=BreakingPlattform +target7.name=JumpBoostItem target7.showInterface=false target7.type=ClassTarget target7.width=120 target7.x=0 target7.y=0 target8.height=70 -target8.name=GameOverWorld +target8.name=BreakingPlattform target8.showInterface=false target8.type=ClassTarget target8.width=120 target8.x=0 target8.y=0 target9.height=70 -target9.name=PlayerTestWorld +target9.name=GameOverWorld target9.showInterface=false target9.type=ClassTarget target9.width=120 target9.x=0 target9.y=0 version=3.1.0 -width=1550 -world.lastInstantiated=MyWorld +width=1936 +world.lastInstantiated=StartWorld xPosition=0 yPosition=0 From f7f611c2aea1ceb04af116151bbf809e4ee19e53 Mon Sep 17 00:00:00 2001 From: Caspar Date: Wed, 16 Sep 2026 17:26:16 +0200 Subject: [PATCH 3/3] Fix Health --- SMIMS-Game/Player.class | Bin 4165 -> 4489 bytes SMIMS-Game/Player.java | 17 +-- SMIMS-Game/project.greenfoot | 250 ++++++++++++++++++----------------- 3 files changed, 138 insertions(+), 129 deletions(-) diff --git a/SMIMS-Game/Player.class b/SMIMS-Game/Player.class index d43e31d96b0c26706a675318cfbf2b90f26b44f6..8693d1562b1c2f7283b6f10ecc837c60cb0ce643 100644 GIT binary patch delta 1171 zcmYk5Yitx%6vuzFJG1Z3W;e9yvTd!_A_8jzi;Gs2EEH>#VigH!Vq%a^OO15ubcw-K z@so*B@i8VKADWPm)JN11?6y={QHvrKEI#ms_{6v37ZX27@!ahs-I?6Sx#xfW_n!Yf z_h{pzO_Ad>6D1(e-v=U2peMv(jcB`LZ}0EE#lGKig1o5_-(YPUu$|4$j#*EHcHWBd zHUk=wUaQb`_dV8@!eA7K$rwi&(g^kquH80J*rC?mi*bziHT(kAs9xCNuF|WQmY9n1 z0ViZ-z18DbgIhcMdaMn0+jeJjq0jEu&=+=GxiLbC4`UddI5-q|M5`-owKmz#z1_S3)9!8I2LyF8 zylTN5s?S567NmhcS6hpZtGs}0q%D6+95v#Cs|m4!6s=q;A%+D1h0MaNV+&vMl|;jYM{6+3nX)o<4D+?jd@NxXXZZ#{Ej-4zlA6wU5~K8+ z^?ffsrA!+CMakVg9BUA@&%}D=JZ)9kE7W-!1yfHmKk%b)!bWdLQ_?%fPr`ND9j>a8 zxY4Th5*IQrX`T}%F`?&8BOVaHi}44@$NVk>KG9(UKL>B3eR%S9rlA zW==LcYo^Ph&6Y%S1za|p7Z?1`{389d)X6iFzLIQa$<4l;o+Kt!y2$YnYEs7Ql`m?Y5!MVg2rEh@Nxcs4I>Bc delta 906 zcmYjPS!)wv6g{(KnWUYuL#v5dtc@*-iNQoum0C@;;!7*~;FI8k58{&$twK>-R77!S z1Sx1AjSDKJHk6RM*QK#q_vJ_U=7XTs^Gyai3Hk2*a_>F&o^!u5iOJ@`)NJ`7fINPT z1Pb2KrM^>=HSK>ORjlJ$k2GP;XxWHJsDs3_1CQ{SR>Bi_c~-1=pr2VofemeQS^J!< zr_A&~$%R6YvBD{s4Q$R&FfgAXU^V<`M;Pm{nBW<7Vh$$jf>9xd1N561AyRwjyJyrw53i3^xQ6$;Wgi#MdEVwyEVzgp}qV?vn-lz-%I zovx2l?PC32&SU7=PBBk2b7E-4JIoLh*y(iCN$)*A5KACvkpG~|hwCQ)Snd!T)OU0X zWft0_7SMnLh@uZ|ID{+?V1x8|xK+-u3aFoIvBif*=+H_S@ z-v$=9JH-VfM?SZVh^=q!^|ZRu*{soE{zrV`S>clkvyFHX#bmFXQ&T0}yTco(JfIBU zt^T6Tpry-CoA->XH)#_obF_r9AuLgHY7z02Ic{H@RB<&@X1TOXguR}e+N9oQ1wXwt zV+$LlzlguJMP#g#^U{4IyeJT~TeyF4hX-+= 0){ jumpBoostDuration -= 1; @@ -139,7 +134,7 @@ public class Player extends Actor currentJumpStrength = defaultJumpStrength; } } - + public void reveivePowerUp(int duration, String type){ switch(type){ case "dummy": diff --git a/SMIMS-Game/project.greenfoot b/SMIMS-Game/project.greenfoot index b8a97cd..a717fb3 100644 --- a/SMIMS-Game/project.greenfoot +++ b/SMIMS-Game/project.greenfoot @@ -1,153 +1,153 @@ #Greenfoot project file class.BreakingPlattform.image=Unbenannt2.png -class.Button.image=button-red.png -class.GameOverWorld.image=GameOverBackground.png class.Ground.image=weave.jpg -class.HealthItem.image=herz.png -class.JumpBoostItem.image=mushroom.png +class.Groundflower.image=beeper.png class.MovingPlattform.image=Unbenannt.png -class.MyWorld.image=GameBackground.png -class.Plattform.image=Platform1.png -class.Player.image=Player.png -class.Projectile.image=Projectile1.png +class.Plattform.image=Plattform.png +class.Player.image=ppl2.png class.Spike.image=Spike.png class.SpikedPlattform.image=SpikedPlattform.png -class.StartWorld.image=StartBackground.png -class.TargetingProjectile.image=blue-draught.png -class.UnactiveSpike.image=SpikeUnactive.png -dependency1.from=GameOverWorld -dependency1.to=Button +class.TemporaryGround.image=TemporaryGround.png +class.UnactiveSpike.image=Spike_Copy.png +dependency1.from=PlayerTestWorld +dependency1.to=Ground dependency1.type=UsesDependency dependency10.from=MyWorld -dependency10.to=MovingPlattform +dependency10.to=SpikedPlattform dependency10.type=UsesDependency dependency11.from=MyWorld -dependency11.to=BreakingPlattform +dependency11.to=Projectile dependency11.type=UsesDependency dependency12.from=MyWorld -dependency12.to=SpikedPlattform +dependency12.to=TargetingProjectile dependency12.type=UsesDependency -dependency13.from=MyWorld -dependency13.to=Projectile +dependency13.from=GameOverWorld +dependency13.to=Button dependency13.type=UsesDependency -dependency14.from=MyWorld -dependency14.to=TargetingProjectile +dependency14.from=StartWorld +dependency14.to=Button dependency14.type=UsesDependency -dependency15.from=Spike -dependency15.to=GameOverWorld +dependency15.from=UnactiveSpike +dependency15.to=SpikedPlattform dependency15.type=UsesDependency -dependency16.from=Spike +dependency16.from=UnactiveSpike dependency16.to=MyWorld dependency16.type=UsesDependency -dependency17.from=Spike -dependency17.to=Player +dependency17.from=UnactiveSpike +dependency17.to=Spike dependency17.type=UsesDependency -dependency18.from=Player -dependency18.to=GameOverWorld +dependency18.from=Button +dependency18.to=MyWorld dependency18.type=UsesDependency -dependency19.from=Player -dependency19.to=Plattform +dependency19.from=PowerUps +dependency19.to=Player dependency19.type=UsesDependency dependency2.from=PlayerTestWorld -dependency2.to=Ground +dependency2.to=Player dependency2.type=UsesDependency -dependency20.from=Player -dependency20.to=PlayerProjectile +dependency20.from=HealthItem +dependency20.to=Player dependency20.type=UsesDependency -dependency21.from=Player -dependency21.to=Projectile +dependency21.from=JumpBoostItem +dependency21.to=Player dependency21.type=UsesDependency -dependency22.from=Player -dependency22.to=Enemy +dependency22.from=Groundflower +dependency22.to=Player dependency22.type=UsesDependency -dependency23.from=UnactiveSpike -dependency23.to=SpikedPlattform +dependency23.from=Enemy +dependency23.to=Player dependency23.type=UsesDependency -dependency24.from=UnactiveSpike -dependency24.to=MyWorld +dependency24.from=Enemy +dependency24.to=EnemyProjectile dependency24.type=UsesDependency -dependency25.from=UnactiveSpike -dependency25.to=Spike +dependency25.from=Spike +dependency25.to=GameOverWorld dependency25.type=UsesDependency -dependency26.from=Healthbar -dependency26.to=Player +dependency26.from=Spike +dependency26.to=MyWorld dependency26.type=UsesDependency -dependency27.from=Plattform -dependency27.to=MyWorld +dependency27.from=Spike +dependency27.to=Player dependency27.type=UsesDependency -dependency28.from=Plattform -dependency28.to=Player +dependency28.from=Player +dependency28.to=GameOverWorld dependency28.type=UsesDependency -dependency29.from=MovingPlattform -dependency29.to=MyWorld +dependency29.from=Player +dependency29.to=Plattform dependency29.type=UsesDependency dependency3.from=PlayerTestWorld -dependency3.to=Player +dependency3.to=JumpBoostItem dependency3.type=UsesDependency -dependency30.from=MovingPlattform -dependency30.to=Player +dependency30.from=Player +dependency30.to=PlayerProjectile dependency30.type=UsesDependency -dependency31.from=SpikedPlattform -dependency31.to=Spike +dependency31.from=Player +dependency31.to=TemporaryGround dependency31.type=UsesDependency -dependency32.from=SpikedPlattform -dependency32.to=GameOverWorld +dependency32.from=Player +dependency32.to=Projectile dependency32.type=UsesDependency -dependency33.from=SpikedPlattform -dependency33.to=MyWorld +dependency33.from=Player +dependency33.to=Enemy dependency33.type=UsesDependency -dependency34.from=SpikedPlattform -dependency34.to=UnactiveSpike +dependency34.from=Healthbar +dependency34.to=Player dependency34.type=UsesDependency -dependency35.from=TargetingProjectile -dependency35.to=Player +dependency35.from=Plattform +dependency35.to=MyWorld dependency35.type=UsesDependency -dependency36.from=Button -dependency36.to=MyWorld +dependency36.from=Plattform +dependency36.to=Player dependency36.type=UsesDependency -dependency37.from=PowerUps -dependency37.to=Player +dependency37.from=MovingPlattform +dependency37.to=MyWorld dependency37.type=UsesDependency -dependency38.from=HealthItem +dependency38.from=MovingPlattform dependency38.to=Player dependency38.type=UsesDependency -dependency39.from=JumpBoostItem -dependency39.to=Player +dependency39.from=SpikedPlattform +dependency39.to=Spike dependency39.type=UsesDependency -dependency4.from=PlayerTestWorld -dependency4.to=JumpBoostItem +dependency4.from=MyWorld +dependency4.to=Player dependency4.type=UsesDependency -dependency40.from=Enemy -dependency40.to=Player +dependency40.from=SpikedPlattform +dependency40.to=GameOverWorld dependency40.type=UsesDependency -dependency41.from=Enemy -dependency41.to=EnemyProjectile +dependency41.from=SpikedPlattform +dependency41.to=MyWorld dependency41.type=UsesDependency -dependency42.from=PlayerProjectile -dependency42.to=Enemy +dependency42.from=SpikedPlattform +dependency42.to=UnactiveSpike dependency42.type=UsesDependency -dependency5.from=StartWorld -dependency5.to=Button +dependency43.from=TargetingProjectile +dependency43.to=Player +dependency43.type=UsesDependency +dependency44.from=PlayerProjectile +dependency44.to=Enemy +dependency44.type=UsesDependency +dependency5.from=MyWorld +dependency5.to=Score dependency5.type=UsesDependency dependency6.from=MyWorld -dependency6.to=Player +dependency6.to=Plattform dependency6.type=UsesDependency dependency7.from=MyWorld -dependency7.to=Score +dependency7.to=Healthbar dependency7.type=UsesDependency dependency8.from=MyWorld -dependency8.to=Plattform +dependency8.to=MovingPlattform dependency8.type=UsesDependency dependency9.from=MyWorld -dependency9.to=Healthbar +dependency9.to=BreakingPlattform dependency9.type=UsesDependency -editor.fx.0.height=737 -editor.fx.0.width=814 -editor.fx.0.x=360 -editor.fx.0.y=26 -height=822 -package.numDependencies=42 -package.numTargets=23 +editor.fx.0.height=739 +editor.fx.0.width=816 +editor.fx.0.x=552 +editor.fx.0.y=98 +height=1048 +package.numDependencies=44 +package.numTargets=25 project.charset=UTF-8 publish.hasSource=false publish.locked=true @@ -163,168 +163,182 @@ readme.x=10 readme.y=10 simulation.speed=50 target1.height=70 -target1.name=Spike +target1.name=MovingPlattform target1.showInterface=false target1.type=ClassTarget target1.width=120 target1.x=0 target1.y=0 target10.height=70 -target10.name=GameOverWorld +target10.name=PowerUps target10.showInterface=false target10.type=ClassTarget target10.width=120 target10.x=0 target10.y=0 target11.height=70 -target11.name=PlayerTestWorld +target11.name=Enemy target11.showInterface=false target11.type=ClassTarget target11.width=120 target11.x=0 target11.y=0 target12.height=70 -target12.name=StartWorld +target12.name=MyWorld target12.showInterface=false target12.type=ClassTarget target12.width=120 target12.x=0 target12.y=0 target13.height=70 -target13.name=Plattform +target13.name=Spike target13.showInterface=false target13.type=ClassTarget target13.width=120 target13.x=0 target13.y=0 target14.height=70 -target14.name=TargetingProjectile +target14.name=Groundflower target14.showInterface=false target14.type=ClassTarget target14.width=120 target14.x=0 target14.y=0 target15.height=70 -target15.name=Projectile +target15.name=Player target15.showInterface=false target15.type=ClassTarget target15.width=120 target15.x=0 target15.y=0 target16.height=70 -target16.name=Score +target16.name=Healthbar target16.showInterface=false target16.type=ClassTarget target16.width=120 target16.x=0 target16.y=0 target17.height=70 -target17.name=Button +target17.name=BreakingPlattform target17.showInterface=false target17.type=ClassTarget target17.width=120 target17.x=0 target17.y=0 target18.height=70 -target18.name=EnemyProjectile +target18.name=GameOverWorld target18.showInterface=false target18.type=ClassTarget target18.width=120 target18.x=0 target18.y=0 target19.height=70 -target19.name=PowerUps +target19.name=StartWorld target19.showInterface=false target19.type=ClassTarget target19.width=120 target19.x=0 target19.y=0 target2.height=70 -target2.name=Player +target2.name=Ground target2.showInterface=false target2.type=ClassTarget target2.width=120 target2.x=0 target2.y=0 target20.height=70 -target20.name=Enemy +target20.name=Plattform target20.showInterface=false target20.type=ClassTarget target20.width=120 target20.x=0 target20.y=0 target21.height=70 -target21.name=PlayerProjectile +target21.name=Projectile target21.showInterface=false target21.type=ClassTarget target21.width=120 target21.x=0 target21.y=0 target22.height=70 -target22.name=SpikedPlattform +target22.name=Score target22.showInterface=false target22.type=ClassTarget target22.width=120 target22.x=0 target22.y=0 target23.height=70 -target23.name=MyWorld +target23.name=EnemyProjectile target23.showInterface=false target23.type=ClassTarget target23.width=120 target23.x=0 target23.y=0 +target24.height=70 +target24.name=PlayerProjectile +target24.showInterface=false +target24.type=ClassTarget +target24.width=120 +target24.x=0 +target24.y=0 +target25.height=70 +target25.name=SpikedPlattform +target25.showInterface=false +target25.type=ClassTarget +target25.width=120 +target25.x=0 +target25.y=0 target3.height=70 -target3.name=MovingPlattform +target3.name=HealthItem target3.showInterface=false target3.type=ClassTarget target3.width=120 target3.x=0 target3.y=0 target4.height=70 -target4.name=Ground +target4.name=UnactiveSpike target4.showInterface=false target4.type=ClassTarget target4.width=120 target4.x=0 target4.y=0 target5.height=70 -target5.name=UnactiveSpike +target5.name=JumpBoostItem target5.showInterface=false target5.type=ClassTarget target5.width=120 target5.x=0 target5.y=0 target6.height=70 -target6.name=HealthItem +target6.name=PlayerTestWorld target6.showInterface=false target6.type=ClassTarget target6.width=120 target6.x=0 target6.y=0 target7.height=70 -target7.name=Healthbar +target7.name=TargetingProjectile target7.showInterface=false target7.type=ClassTarget target7.width=120 target7.x=0 target7.y=0 target8.height=70 -target8.name=JumpBoostItem +target8.name=TemporaryGround target8.showInterface=false target8.type=ClassTarget target8.width=120 target8.x=0 target8.y=0 target9.height=70 -target9.name=BreakingPlattform +target9.name=Button target9.showInterface=false target9.type=ClassTarget target9.width=120 target9.x=0 target9.y=0 version=3.1.0 -width=715 -world.lastInstantiated=MyWorld -xPosition=532 -yPosition=117 +width=1936 +world.lastInstantiated=StartWorld +xPosition=0 +yPosition=0