From 8fad77b8786614a58ad285f13747bb4be2d25302 Mon Sep 17 00:00:00 2001 From: Jonas Date: Wed, 16 Sep 2026 09:27:50 +0200 Subject: [PATCH 1/3] =?UTF-8?q?Der=20Spieler=20kann=20nun=20=C3=BCber=20di?= =?UTF-8?q?e=20Bildschirmr=C3=A4nder=20auf=20die=20andere=20Seite=20des=20?= =?UTF-8?q?Fensters?= 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 From 5d65c61f15d92de6328fb8ded9c664ddea7971fe Mon Sep 17 00:00:00 2001 From: Marlie Date: Wed, 16 Sep 2026 09:36:32 +0200 Subject: [PATCH 2/3] Verfolgungsprojektil --- SMIMS-Game/MyWorld.class | Bin 2234 -> 2236 bytes SMIMS-Game/MyWorld.java | 8 ++++---- SMIMS-Game/Player.class | Bin 3169 -> 3173 bytes SMIMS-Game/Player.java | 6 ++++-- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/SMIMS-Game/MyWorld.class b/SMIMS-Game/MyWorld.class index a9e78ec1c610177f1b48258d141c895265c00848..a86d895d25d3caddc3b275389fb71077c748256f 100644 GIT binary patch delta 183 zcmdlbxJPiqb7uJn1{MZJ1_lN>EkVW!f=m%C+Zh;vOr5O^>{^1%FDA3HC<;q5h%?AC zNH7Ee)$u@7Z?}nY^1lN4pbf1`|-uSZfOd?<@wD-3-2w+Zp_Qw6uW+?O?DF zFiK$F#vlPUFOWmeT9qM(L4zTW!HA&%Y^E4cH$Q_Ig9$?l*mPrtV1^K&c}YMFG+Bca MD4GgnGclwA0KE4d3jhEB delta 181 zcmdlZxJz)ub7r}41{MZJ1_lOMEkVW!f=m%C+ZhRK^2QyxEGSftiWn#N<8fIa(b+Bbb14Mp|1KcxN#v?`H6g+|JfW{>OG0?bGeZQ!PKL=>Px# delta 97 zcmaDV@layJeGbOulOJ%LW_Du`oV Date: Wed, 16 Sep 2026 10:40:42 +0200 Subject: [PATCH 3/3] =?UTF-8?q?Der=20Spieler=20kann=20nun=20Projectile=20s?= =?UTF-8?q?chie=C3=9Fen?= 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/Player.class | Bin 3169 -> 3784 bytes SMIMS-Game/Player.ctxt | 12 ++++++----- SMIMS-Game/Player.java | 18 ++++++++++++++++ SMIMS-Game/PlayerProjectile.class | Bin 0 -> 766 bytes SMIMS-Game/PlayerProjectile.ctxt | 9 ++++++++ SMIMS-Game/PlayerProjectile.java | 34 ++++++++++++++++++++++++++++++ SMIMS-Game/images/beeper.png | Bin 0 -> 776 bytes 9 files changed, 69 insertions(+), 6 deletions(-) create mode 100644 SMIMS-Game/PlayerProjectile.class create mode 100644 SMIMS-Game/PlayerProjectile.ctxt create mode 100644 SMIMS-Game/PlayerProjectile.java create mode 100644 SMIMS-Game/images/beeper.png diff --git a/SMIMS-Game/JumpBoostItem.class b/SMIMS-Game/JumpBoostItem.class index 07d901c3577c3c8eb450bd8069c0fd26c363606f..b874d3f7690b44484c2f1bcdfa21ca61bd5c0034 100644 GIT binary patch delta 14 VcmaFH`iyl07ZVeoz+@h#TL2?01TFvo delta 14 VcmaFH`iyl07ZVdZ$7CL+TL2>31RnqZ diff --git a/SMIMS-Game/JumpBoostItem.java b/SMIMS-Game/JumpBoostItem.java index b0c1a69..2368462 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*30; + int duration = 60*60; public void act() { touchedByPlayer(); diff --git a/SMIMS-Game/Player.class b/SMIMS-Game/Player.class index c3c262723ac0069779e2337c576e7a82c0377c8f..54dffb6d5d72a9e2f460570c848e9dd91ac75e49 100644 GIT binary patch literal 3784 zcmZuzd4Chv6+L6g8cB>7gk=o22?>zcDqvElhT1^N5{$q$E{j+BxrLk+rTBUS8*smdNXpG*oV*H#!JiUdhk;JX zQ)AYhv9;58-V!unnK4;f#*(=gmp8D`V!;T?B@cOZRo23gZknSz(-2 zSTa+#;KDR;PGKok@QBGJSkl34Mu>0UA9KB|cr|7qjd2alOjk1J+g@G}n@b-$C(zAn zSXXU(PsYsW`#MYB6o~Au0VnVGEyH;{t|Mb03%XmcoLyuy4-OTZs`Hvz%L+SLrc=WN zp3vbL$O}qi9~U9|$IbkZeZd#mf`Lg)5j;5(G&C(}RT(PzPKcziRbCejJc*}D>|0YEvt&Qm(R#HKBctLommEZBY+ zUor3+zRH4|mQ~urGFM|*4Z}XcUlgxnP{-Gobitx$!et^a<68!16ombPmpkfCnVyx` zaYaM4VqUQDhJiO#L*$){b`)>ns*dj&xF)p5yOGSgu(0EMT+0sQZ9>^9WV6$Am}G$+b(k+d3`N8JgkPK}!$rEG7v>-%n&s@;sW=Wb$nf-NN- z#qJjMrS_tQAf-9mh|(!8kp(fj(OA_5s)raR!D~sio0qyjJ+Tl%`(2y1R~g$$bB#2> zqpMO3Nd^5`LZe)*LKk6GHP9BTO@6&+PukAp!YCKmBul23OrQ~F(^@no)*a{T0X_*noA_+u)6J(RILdc#5j(G z@v@nkfd>hRZhF;2aBSn%qPNP6?kX>Ws97aW@On~q;!L^7YhsTnTP=y}SUZE|39h4l zbxliIiLsjCq-@}&v4t0jcI>UPwWi7ztJY5Cy!ez%X|r@yFndda*q%6foq)NH)uUpB z6n?jl?oc^sV~B}Zst9{1&=cHr6OM-7+EukT!Lwin1^MC_`Vgt!(5g@o7vwcv#M8AI zt4CMLig;H29_YF@f3jo!8t_N!@v*ZZ;|hbm-@ZXopZD-4{8)Poks=`2zk*NxQ9_!)PTTrN+KML`-v3UL?YvX)_E`~$1#!=Fg6!Jq#J@`XXe literal 3169 zcmZuz`*Ryt75>&*YbAO8h+-K( zU9Idm6iRutg+h5hLTDibFazxj%*1X|W*BDp4gL%M2Yvts%6G2Tw(Mfh?!9}?z2|)A zobR5izy9~bKLHrVN&*dt7|=~LBC4S^=Q~bm-t&Ti;cVdf8lp$sk{cY;5b5imiX(=& zfrN=BnADvwSj!Fa5v!kSKS%cCat;4uyHtXC+w6$O|9D&0O4pOjp*6}?4g+?fxCOZEjf zmk(rPpNW1^>JqUCK4szwC78Dg1rZ!DF(87Lyj8Lb&UtUi@h_DtqI%NAQ#i!UIVZTP zGCC&WXG{#@S)!!)vga3wa%W%v_+}}Ta43OK>C^FpNio{7Q+%mlO`_W5{uzh&N#~_y(O|I)i=Ii zEm{KwtCSlc0o+n0)xa$bjJuU!s0lV41M?mDX+jp6^pfUj1{e%qanS8QXBPFT5h~4+*;Pq`F}W})=26|tXDK7 z&ikIE$}KpOhA)_SRdJ!>-f|Ln4PP?wWfNZ!S=;s^5)xy|pYUuahSym|yIL$R%dR&~ zd<|b`Q*mCdS_PJ23kAXeg#zDTL8UFIe#3l-Egpw)x8zJzi*t^D(V8nzk`&4nrYzr; z?@*`*d6%|hne6;^i_0ZBCF_yNd3+7u~XVyI6+xQN@G<px{106%}5h- zFR|{%KIVCVxCc2q#k=VW9%l#ZuZvN=YB=23)%XyuhTEvhjJMIB zF>^TD60eIJ+bdraXWF00gCBekw`&G$(*gFA-t1I}XH_cVUUS)8`A_z`~0 zOfq|6iW{-YRLF5j<6ZoOGs*SaxPzaPR|9wp@9<#h)YT4EP4_eEgpNIkd_DdCN9S=l4mkp zp2-_^UiZ~`CI8!7>G0>c8@l~F-O35N^~6L2skVkM{*GVZsb;r)_x->9gJY)gf&Lqg zJ^PbiUBerQs(7HeQmimm6CMmtP?>X7WNB(;FNWa{*g5GuH64o@MXeRBaGd&D% zGnQ^u;1Y9JCLw%AR6)T1Wh|= getWorld().getHeight()){ @@ -85,6 +88,21 @@ public class Player extends Actor break; } } onGround = landed; } + + public void shootProjectile(){ + projectileTimer++; + MouseInfo mouse = Greenfoot.getMouseInfo(); + if (Greenfoot.mousePressed(null)){ + PlayerProjectile playerProjectile = new PlayerProjectile(); + getWorld().addObject(playerProjectile, getX(), getY()); + playerProjectile.turnTowards(Greenfoot.getMouseInfo().getX(), Greenfoot.getMouseInfo().getY()); + projectileReady = false; + } + if (projectileTimer >= 10){ + projectileReady = true; + projectileTimer = 0; + } + } public boolean collision(){ if (getIntersectingObjects(Projectile.class).size()>0) diff --git a/SMIMS-Game/PlayerProjectile.class b/SMIMS-Game/PlayerProjectile.class new file mode 100644 index 0000000000000000000000000000000000000000..104b3f95a5171c5ae76e8234cb189974587bcfdc GIT binary patch literal 766 zcmZ8fT~8B16g|`3cH3oYOG~$kf{0(+s$dLnH73NwNK%EQio)A;JC?=LF~dTlKg94pN}JGfa{Adv6t=f) zOo+OMGZ5)Otud_|5=&Snp44wIrLo1>D-yTZT_E>M9rq6sCU;xn&i~~1RP)^QXv9)G z9_rU8M_p~-s4mZ5X`4t5c9o6Uo;cm)AU@{U<+Ey0Tg4=cokT?+U#U-%3cq7cY@}bL z=UKa4wsxpa6|v0I#qsAr@YRvLOV&DRK|0&~3GstA8QdeuVW5EfB;_~(AsS=}G|!9Q zQa0xW&9XOw*Bqhv6?3HK>8~-GlcH7N(te)mDk##u)o4wTg9-A3G+)#Rl3oBw=JzG# z3v3YL^>3)M;szt!bbH^Cb= getWorld().getHeight()-1){ + return false; + } + //Check X-Value + if (getX() <= 0 || getX() >= getWorld().getHeight()-1){ + return false; + } + return true; + } +} diff --git a/SMIMS-Game/images/beeper.png b/SMIMS-Game/images/beeper.png new file mode 100644 index 0000000000000000000000000000000000000000..8968e5050932cb256a6f6bf699ba733d274bfab1 GIT binary patch literal 776 zcmcJM>r0by6vrPmNYuyQ?{|LB9``(S+m4Tv#dYMDp>ZAw|59a5g12f9EY)9azb&gmEq*7YH#El1@kjAt3<%01*f!VVp%sJ|WiutN=EEGJpbr z6hfj1Ie}0v#w7sNls0l)8^?8WTq!^vKqSCP041fT5IT#H8RHsC`((0LJU`6yeLU}w z$+U#10m2dL;J87aANTW{_Vb&O%kNQY0f>?&P`ui;-GBR;(ZC< zHJiy`mbm?IW7PH=F_NBOOUkpE%ZqH41=d0)#ad8NTyiy`{N~+4tF6!)b~$xVdZv3? zqCTst$C9cRLhYr(lD20eRIAav8SUzCXzQ)-ZhijfX~&DyVE4M7_>al~rDbysx=gdh zq|@nm(w%F}GMb#(nR5dN6I!43+ou|boRjU7&Y_XMmYG_GJ~(+^Ee`35w)t&m&d}8O z+H&}Ti50I;CEr)0BXv=_m7U1xrs*lNs9fJu{4UvE-`f4LyOlru^5;&#uZ+0#2V+xp zlkW#B^Ns!Q2CFNYj#L)Q-Ga+DNQ;g)#5yt^v4({l&DgC!58rkccndWO)okbHoPDLL zcD`mbJ9J?zBUw}h_y=@5uEZTvXdHpfk1sVJ{dcEjLPEs2Tpo-uraAmuujlT5pO$1u J9Es1b`wLulFu(u+ literal 0 HcmV?d00001