From 8fad77b8786614a58ad285f13747bb4be2d25302 Mon Sep 17 00:00:00 2001 From: Jonas Date: Wed, 16 Sep 2026 09:27:50 +0200 Subject: [PATCH] =?UTF-8?q?Der=20Spieler=20kann=20nun=20=C3=BCber=20die=20?= =?UTF-8?q?Bildschirmr=C3=A4nder=20auf=20die=20andere=20Seite=20des=20Fens?= =?UTF-8?q?ters?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SMIMS-Game/JumpBoostItem.class | Bin 742 -> 742 bytes SMIMS-Game/JumpBoostItem.java | 2 +- SMIMS-Game/MyWorld.class | Bin 2042 -> 2234 bytes SMIMS-Game/MyWorld.java | 8 ++ SMIMS-Game/Player.class | Bin 3080 -> 3169 bytes SMIMS-Game/Player.java | 8 +- SMIMS-Game/project.greenfoot | 133 ++++++++++++++++++++++++--------- 7 files changed, 112 insertions(+), 39 deletions(-) diff --git a/SMIMS-Game/JumpBoostItem.class b/SMIMS-Game/JumpBoostItem.class index 8ce3e47627e22629d32abfef2f85617399c3cb8c..07d901c3577c3c8eb450bd8069c0fd26c363606f 100644 GIT binary patch delta 14 VcmaFH`iyl07ZVdZ$7CL+TL2>31RnqZ delta 14 VcmaFH`iyl07ZVes&SV~@TL2?!1U&!% diff --git a/SMIMS-Game/JumpBoostItem.java b/SMIMS-Game/JumpBoostItem.java index dc588f3..b0c1a69 100644 --- a/SMIMS-Game/JumpBoostItem.java +++ b/SMIMS-Game/JumpBoostItem.java @@ -8,7 +8,7 @@ import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) */ public class JumpBoostItem extends PowerUps { - int duration = 60*5; + int duration = 60*30; public void act() { touchedByPlayer(); diff --git a/SMIMS-Game/MyWorld.class b/SMIMS-Game/MyWorld.class index 65dd10f4a8630a8878749c1269d3b17f30e0925a..a9e78ec1c610177f1b48258d141c895265c00848 100644 GIT binary patch delta 1144 zcmZXS%TE(g6vn^X4xKV7X{QK+lfD`wit;9?}W|#RspJHw?j|i3{t-L|qt@ zam7kvVj{W_qhM&_*2IM_`2*Y<kTI~mzUh(W+hK1wv@Sq`O$|i?E~vqXN)xISKg;B*O{h_p*hN>J3H2~B zSbb}=;qZdIwcaIfZ-j&L-3S=$esdqXc?>cLzAbqrG#_4G3kev2jmH&+%(2<6#ZXv1ky0Io zjaqlf!H}}5dsmpTk~$+98ag+0vy!V{VD-uaeF5_+FZ316uYA|%Ij<5c6BxyOjAD%5 zI#`iOD?Uoi;E)b5haz&{rlXJohbU_@O1VanHHhrZ0dmx|Mr4%-C@mZK-~^3KhbCr1Gs{K`D?}?)zc*r@ z;(m=R7uPUOj`NrS6PTn4%JByQOhHf27hI>vLB@MJIYpo3DHPnK%z&4;k6V=SI40WD zn2FG3V3<7vK&?3q&YpCD%k;RV52)Qio)kp^v2cj&*(Wp@iGySbenhPlpgN~!);20w z+jo)m|K3=wV;456bq3N7(G_cCi5RF=qMW0ZEvLzPvfR5%no;xxEbc>i~tQ4pC|BULT<+l zN{F}%^Kc`iX=YO^GqS1uyhgt|MV(|^>9kstkbV@GR=-Wg4vL}}Ch3ucw8cH6*FKQ) tjJJ&@JuH!jWztz8534A~8iCm$&CL`KS)>!xJh;z$aH<|cG>Hxi{{Th~)*Ju; delta 1015 zcmZuwOHUJF6g^)bOs#``5GaOM8X?r-U3~E_RD=p>6(|%$T4_N98PgP9HZd_#5{=2Y zVuvOsvVsJ`(8R5Y3;YxQ3KzsPLsN=zG55Q3U*~-1&K$b_IP5=<55EKGM{L*LCu;1l zp+QC?N(AiBQtFfBLV9^MsfU|ov}hZm($^-#4_Uw+UX7>Ii)!j=P+eb3C)5{fc3i<# z3D;y?#|`aB1TsAWjxqK5^4e0q+Kz7Y$*>|IVDW`6N6ZkfK1&D+xCT+jZPId7ylZ6jX)`F( zURt9Wz5D)2MXuY19|+?fCstsOxpB^G!bePC5@zN9U3{T_r~BE?DLl)060G%g zRn^VaREA$Q?Fgf9h+^W|PKBgR)MhbAeTGJr2A620655XB&FG}6IRJ*x5fYl>`!wn( zy$`ee3FZvYGLCZagK5MAL;m&xc*6M3G1`)cew~B%6S{a4m$Dcp^zA&f(;qV%3(~?i r&-f{a7@5S0^N1W4P>TeGS)?$J3pkV#XU^c@Kg*$B=kSm>F=75MUQMmD diff --git a/SMIMS-Game/MyWorld.java b/SMIMS-Game/MyWorld.java index 94f1f87..dd33fab 100644 --- a/SMIMS-Game/MyWorld.java +++ b/SMIMS-Game/MyWorld.java @@ -50,6 +50,14 @@ public class MyWorld extends World plattform2.setLocation(320,367); plattform2.setLocation(312,371); plattform2.setLocation(308,382); + JumpBoostItem jumpBoostItem = new JumpBoostItem(); + addObject(jumpBoostItem,312,427); + jumpBoostItem.setLocation(308,304); + player.setLocation(308,354); + player.setLocation(308,320); + player.setLocation(248,337); + player.setLocation(288,346); + player.setLocation(292,337); } public void act() diff --git a/SMIMS-Game/Player.class b/SMIMS-Game/Player.class index 887bfb52e75738efdfe3f50840cec58690971fcf..c3c262723ac0069779e2337c576e7a82c0377c8f 100644 GIT binary patch delta 1473 zcmZ9L+f!Rr6vlriImt=FX=zi?1OlxEWO@XHQt5~tJ3JWd1xl$cloGim+zJFCv;}Li z)>^cJm*Wk!Rn*GpjE)^mMmnS8j6V73f1rPW@9Jn>JDeKqWU}|#d#%0Jx4!kAh0w2| zz|a5O{2pjx^+urHRTscVv&rMsYv@DCbZ3BvIbd>7UHIgpVow`4-~QdzRFEKPFlaKwu-)k1;~(Xe!I;UoJ?F0Qjgm5%5XcO_Ja2j zZOQ)0TV4H%kZPjIYVj(s$*%D_URf8#{t?*~U?7Oq1{ztZ&$oaLNUb-{I)J6URJvNou%X*sUW>J@@dCfZMYHM*RjDI=KFUOZ`JT%+6cet? zBzw(zE&HOcrXv;+hOJ;cOHZr2L9bn7K%>zU_N+0YvCNFJCNzE^-slZ`vrMUFI?EZ) zSfasD?aO~IckXTQl{yF8>o1>=6)XR`FQLi^@UY&Xui{<3b=fM`oj&y30Ap;GJ{}YH zVgzX>B15d=fS^4{ltZ-0uSY($6o)y-5s^|m*E!1P@~M5nF}~tBYjosV@5WEhyac@= z+B4)y6K{&;lZU%`ODw-68{lo;5h~!O!;y!Kw5-$`;TrFXrN~<1J>C~-M7hFMwhP_Y zVMhKx%o52Lb%wbTh{n6}s#sUypfo>35yR5Z2$h`LkgIA# zE>U4op(Oi|6$j#P(v;HiTurM>WRc}rySAWg+odd*mnjydtWsDTydpHgXqyWnu0Q14(q#UK_tSp?_Kgo| delta 1386 zcmZ9L+f!Rr6vlr$C&@{|p+HKV1X8F#MbD54h(nc*)8Z(FmKJI+6xs@Dl2VXx4Yr^X z@77{l^|UJ0*8Ava>)25u;7rG7{R^D&#V7v)AFShLog~v_d^mfrv)5j0ed}A_{w;7e z;QQ&H^;Oe}Yk<=-jqY7`|cr=wdIXRQG zvmG~hf+0)OI!dCP(1{tuNm#wwHtz@$FlsPnUDWD5Ba9m)nXuNiEv19B_!wl`V1`-i zcdf}iN4w5bR?t}+p4ORH`1)oh#}cvB=y;-pC{G(alWk*mbRpqmk+jZp2G3gwXWhmZ zrGfZdGC6NMUN(4zSFJ0~diC13x13)qHDD#(5p~YG>fWxFtY6%Xjjs!J21-_w^IVW! zaS^wy=fqCq$oiVCMmflc-g76>X$iE8wE8<& z=~|}JG&A&=-%%bHqd7yb|G@to!+A%c>Rq@b#l6C{Nsusir-^VsEkz(&i$FMW1OtNN zzB?$6=i90AAIcUB2!PNs6{hU{sTG2zwnC^-(2r9Jwo%4|1bB$eY%i)+Lm;%|HEyb>imy2rU_GCJ#kadSJwG+R*fe??dl}82G zV?tIZd)dVhT};v~GTOtN^zfOSekpI`2EBYkA8Ya~?71GpD|h$H9Rpn=I(SPgkHkHI zC6-s>VqD^~G!5(NJoheEcsnbq5Z8D|ESr}LyemCx0%D0P)C#ljNsukQobP?{*+f>O z{mVAoIv%BTqVkQvU!1v}9bO&v5@KufXnvR>(|<-NUgOY$l6qx7@bJL*>{w-|^SX9j zF6Jbgo8>_^a9C#9Pn9Gnh&NQE8&PVN)QIFqdD|E1>Mv*_C&FPNBuXVGgy0wrB#Lrv zEy^VttSpmcR|T2Cwx&xeTb}(&K-sba$F&$X>mIUI0~= getWorld().getHeight()){ Greenfoot.setWorld(new GameOverWorld()); } + //Check ob der Spieler an der Seite vom Fenster ist + if (getX() <= 0){ + setLocation(getWorld().getWidth(), getY()); + } else if (getX() >= getWorld().getWidth()-1){ + setLocation(1, getY()); + } } // Bewegung nach links und rechts diff --git a/SMIMS-Game/project.greenfoot b/SMIMS-Game/project.greenfoot index a169c86..dcc22de 100644 --- a/SMIMS-Game/project.greenfoot +++ b/SMIMS-Game/project.greenfoot @@ -1,48 +1,79 @@ #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 dependency1.from=GameOverWorld dependency1.to=Button dependency1.type=UsesDependency dependency10.from=MyWorld -dependency10.to=Projectile +dependency10.to=BreakingPlattform dependency10.type=UsesDependency -dependency11.from=Player -dependency11.to=GameOverWorld +dependency11.from=MyWorld +dependency11.to=Projectile dependency11.type=UsesDependency -dependency12.from=Player -dependency12.to=Ground +dependency12.from=MyWorld +dependency12.to=TargetingProjectile dependency12.type=UsesDependency -dependency13.from=Player -dependency13.to=Projectile +dependency13.from=Spike +dependency13.to=GameOverWorld dependency13.type=UsesDependency -dependency14.from=Plattform -dependency14.to=MyWorld +dependency14.from=Spike +dependency14.to=Player dependency14.type=UsesDependency -dependency15.from=Plattform -dependency15.to=Player +dependency15.from=Player +dependency15.to=GameOverWorld dependency15.type=UsesDependency -dependency16.from=MovingPlattform -dependency16.to=MyWorld +dependency16.from=Player +dependency16.to=Plattform dependency16.type=UsesDependency -dependency17.from=Button -dependency17.to=MyWorld +dependency17.from=Player +dependency17.to=Projectile dependency17.type=UsesDependency -dependency18.from=PowerUps -dependency18.to=Player +dependency18.from=Plattform +dependency18.to=MyWorld dependency18.type=UsesDependency -dependency19.from=JumpBoostItem +dependency19.from=Plattform dependency19.to=Player dependency19.type=UsesDependency dependency2.from=PlayerTestWorld dependency2.to=Ground dependency2.type=UsesDependency +dependency20.from=MovingPlattform +dependency20.to=MyWorld +dependency20.type=UsesDependency +dependency21.from=SpikedPlattform +dependency21.to=Spike +dependency21.type=UsesDependency +dependency22.from=SpikedPlattform +dependency22.to=GameOverWorld +dependency22.type=UsesDependency +dependency23.from=SpikedPlattform +dependency23.to=MyWorld +dependency23.type=UsesDependency +dependency24.from=TargetingProjectile +dependency24.to=Player +dependency24.type=UsesDependency +dependency25.from=Button +dependency25.to=MyWorld +dependency25.type=UsesDependency +dependency26.from=PowerUps +dependency26.to=Player +dependency26.type=UsesDependency +dependency27.from=JumpBoostItem +dependency27.to=Player +dependency27.type=UsesDependency dependency3.from=PlayerTestWorld dependency3.to=Player dependency3.type=UsesDependency @@ -56,21 +87,21 @@ dependency6.from=MyWorld dependency6.to=Player dependency6.type=UsesDependency dependency7.from=MyWorld -dependency7.to=Plattform +dependency7.to=Score dependency7.type=UsesDependency dependency8.from=MyWorld -dependency8.to=MovingPlattform +dependency8.to=Plattform dependency8.type=UsesDependency dependency9.from=MyWorld -dependency9.to=BreakingPlattform +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=19 -package.numTargets=14 +package.numDependencies=27 +package.numTargets=18 project.charset=UTF-8 publish.hasSource=false publish.locked=true @@ -86,98 +117,126 @@ readme.x=10 readme.y=10 simulation.speed=50 target1.height=70 -target1.name=Player +target1.name=Spike target1.showInterface=false target1.type=ClassTarget target1.width=120 target1.x=0 target1.y=0 target10.height=70 -target10.name=TargetingProjectile +target10.name=StartWorld target10.showInterface=false target10.type=ClassTarget target10.width=120 target10.x=0 target10.y=0 target11.height=70 -target11.name=Projectile +target11.name=Plattform target11.showInterface=false target11.type=ClassTarget target11.width=120 target11.x=0 target11.y=0 target12.height=70 -target12.name=Button +target12.name=TargetingProjectile target12.showInterface=false target12.type=ClassTarget target12.width=120 target12.x=0 target12.y=0 target13.height=70 -target13.name=PowerUps +target13.name=Projectile target13.showInterface=false target13.type=ClassTarget target13.width=120 target13.x=0 target13.y=0 target14.height=70 -target14.name=MyWorld +target14.name=Score target14.showInterface=false target14.type=ClassTarget target14.width=120 target14.x=0 target14.y=0 +target15.height=70 +target15.name=Button +target15.showInterface=false +target15.type=ClassTarget +target15.width=120 +target15.x=0 +target15.y=0 +target16.height=70 +target16.name=PowerUps +target16.showInterface=false +target16.type=ClassTarget +target16.width=120 +target16.x=0 +target16.y=0 +target17.height=70 +target17.name=SpikedPlattform +target17.showInterface=false +target17.type=ClassTarget +target17.width=120 +target17.x=0 +target17.y=0 +target18.height=70 +target18.name=MyWorld +target18.showInterface=false +target18.type=ClassTarget +target18.width=120 +target18.x=0 +target18.y=0 target2.height=70 -target2.name=MovingPlattform +target2.name=Player target2.showInterface=false target2.type=ClassTarget target2.width=120 target2.x=0 target2.y=0 target3.height=70 -target3.name=Ground +target3.name=MovingPlattform target3.showInterface=false target3.type=ClassTarget target3.width=120 target3.x=0 target3.y=0 target4.height=70 -target4.name=JumpBoostItem +target4.name=Ground target4.showInterface=false target4.type=ClassTarget target4.width=120 target4.x=0 target4.y=0 target5.height=70 -target5.name=BreakingPlattform +target5.name=UnactiveSpike target5.showInterface=false target5.type=ClassTarget target5.width=120 target5.x=0 target5.y=0 target6.height=70 -target6.name=GameOverWorld +target6.name=JumpBoostItem target6.showInterface=false target6.type=ClassTarget target6.width=120 target6.x=0 target6.y=0 target7.height=70 -target7.name=PlayerTestWorld +target7.name=BreakingPlattform target7.showInterface=false target7.type=ClassTarget target7.width=120 target7.x=0 target7.y=0 target8.height=70 -target8.name=StartWorld +target8.name=GameOverWorld target8.showInterface=false target8.type=ClassTarget target8.width=120 target8.x=0 target8.y=0 target9.height=70 -target9.name=Plattform +target9.name=PlayerTestWorld target9.showInterface=false target9.type=ClassTarget target9.width=120