From 293c235352569ec4ecded7f2fe6eaf826f416a5a Mon Sep 17 00:00:00 2001 From: Marlie Date: Tue, 15 Sep 2026 19:17:14 +0200 Subject: [PATCH] Projectile fix --- SMIMS-Game/MyWorld.class | Bin 795 -> 1201 bytes SMIMS-Game/MyWorld.java | 23 ++++-- SMIMS-Game/Player.ctxt | 6 -- SMIMS-Game/project.greenfoot | 154 +++++++++++++++++++++++------------ 4 files changed, 121 insertions(+), 62 deletions(-) diff --git a/SMIMS-Game/MyWorld.class b/SMIMS-Game/MyWorld.class index 7ee18b1fd78ba8c16796a811a57ffbeb2b082efc..a5ee6ac3782f7abc29da34534a314e015e390b96 100644 GIT binary patch literal 1201 zcmZuwOHUI~7(KTwOgj$HmPbK(Do8tE5%3Kn4VKhze-1)xqo$q|--ubcj=`(;aTvy?NSAkDM1u6w< zmTl84ELoP*ch|CW8G*{-Y$5B6a1%`=60uYOegqV#8je8|P$r+azzQduH*EotkdSH( zH8Ow9G3;g2nUgt{@sNfvYFSsb&7xtO0^VpWrJ$Y-W^%?8iK;_H%Bhw3CJo1NLLgvd zGSiDIX4(;Gh$atZj-?&T9@!zSIs8KSwxlDPu@B-PPo#=M4fQ!O4e6VQ@}t%<0b zb&T}tq)~K<)mdxJPMbF=j98aFzG6Hw(80s<@J@O8=Miv)ydkA0Zvvm3U7jk}i+r1h zk2_-Zka!vL%=@+>^bo#nLeWFs-L1Yj3Mcd(w6RMEC;Et!e)iCVnN2k73(WiEE*xbd99u{Izu0n4Uq^(w zo`s5SoGB9pE6H?_Z7gMjd;d$HU1!T3^e+SlwlR35ngW$q=-k0M>bp>Kp_fX61NXgB zW!d+)^jrd^QboGsEjd5Md4WzS{79P6&F?10pN>KF;s)ZF##y8>fIP42Q(V9cR;|;w zcRY;^y7q;>eWh#PF^ZqKectb5=rCY#N;kvG;wt?Q4$3s ziL>!X8Bd|XG`a7*`|dp-9j`w4)t}$bF93(A57m=>6#;}atV0)2`i|XiJGOvaDxWF{ z3;0{T_O0!xFkos}f$q-7G{mtnd@be`Bn8x#bA4rZZZ3PaiUdp*X=D^+HEba_ii-N^ zMLZ7#HG|MtWeAsvHP72Id_+LpGQ_@&ZmeRSrtRn3~?|)^q)9HM?i+bvWU>LOB!1&dZYo0 z?4m?kf%206&ZBQyZ%`hgTkh%W()bf{GbE_EIajQHAl1e5Myek^v~|J3w6Rf!qTOtZU3ETQ%X7M3@k diff --git a/SMIMS-Game/MyWorld.java b/SMIMS-Game/MyWorld.java index 17d7f3d..1def3ed 100644 --- a/SMIMS-Game/MyWorld.java +++ b/SMIMS-Game/MyWorld.java @@ -11,7 +11,7 @@ public class MyWorld extends World int PlattformCountdown; int timer = 200; //Zeit, bevor das erste Projektil auftaucht //kann später noch beliebig angepasst werden - + int targetTimer = 1000; /** * Constructor for objects of class MyWorld. * @@ -51,15 +51,26 @@ public class MyWorld extends World { addObject(new MovingPlattform(-2), Greenfoot.getRandomNumber(400), 6); //Nach Links bewegende Plattform } - else{ - Projectile projectile = new Projectile(); - addObject(projectile,Greenfoot.getRandomNumber(300)+50,0); - timer = 200; //zeitlicher Abstand if(Greenfoot.getRandomNumber(100000)>=99750) { addObject(new BreakingPlattform(50), Greenfoot.getRandomNumber(400), 6); //Nach Links bewegende Plattform } - //zwischen den x Werten 50 und 350 spawnen die Projektile (anpassbar) + if(timer == 0){ + Projectile projectile = new Projectile(); + addObject(projectile,Greenfoot.getRandomNumber(300)+50,0); + timer = 200; //zeitlicher Abstand + } + else{ + timer = timer - 1; + } + //if(timer == 0){ + // TargetingProjectile targetingProjectile = new TargetingProjectile(); + // addObject(targetingProjectile, Greenfoot.getRandomNumber(300)+50,0); + // timer = 1000; + //} + //else{ + // timer = timer - 1; + //} } } diff --git a/SMIMS-Game/Player.ctxt b/SMIMS-Game/Player.ctxt index 3cb5fcb..5208ed6 100644 --- a/SMIMS-Game/Player.ctxt +++ b/SMIMS-Game/Player.ctxt @@ -16,9 +16,3 @@ comment6.target=void\ handlePowerUps() comment7.params=duration\ type comment7.target=void\ reveivePowerUp(int,\ java.lang.String) numComments=8 -comment3.target=void\ jump() -comment4.params= -comment4.target=void\ fall() -comment5.params= -comment5.target=boolean\ collision() -numComments=6 diff --git a/SMIMS-Game/project.greenfoot b/SMIMS-Game/project.greenfoot index c8dc2be..a169c86 100644 --- a/SMIMS-Game/project.greenfoot +++ b/SMIMS-Game/project.greenfoot @@ -6,54 +6,71 @@ class.MyWorld.image=GameBackground.png class.Player.image=ppl2.png class.Projectile.image=Projectile1.png class.StartWorld.image=StartBackground.png +class.TargetingProjectile.image=blue-draught.png dependency1.from=GameOverWorld dependency1.to=Button -dependency1.from=PlayerTestWorld -dependency1.to=Ground dependency1.type=UsesDependency -dependency2.from=StartWorld -dependency2.to=Button +dependency10.from=MyWorld +dependency10.to=Projectile +dependency10.type=UsesDependency +dependency11.from=Player +dependency11.to=GameOverWorld +dependency11.type=UsesDependency +dependency12.from=Player +dependency12.to=Ground +dependency12.type=UsesDependency +dependency13.from=Player +dependency13.to=Projectile +dependency13.type=UsesDependency +dependency14.from=Plattform +dependency14.to=MyWorld +dependency14.type=UsesDependency +dependency15.from=Plattform +dependency15.to=Player +dependency15.type=UsesDependency +dependency16.from=MovingPlattform +dependency16.to=MyWorld +dependency16.type=UsesDependency +dependency17.from=Button +dependency17.to=MyWorld +dependency17.type=UsesDependency +dependency18.from=PowerUps +dependency18.to=Player +dependency18.type=UsesDependency +dependency19.from=JumpBoostItem +dependency19.to=Player +dependency19.type=UsesDependency dependency2.from=PlayerTestWorld -dependency2.to=Player +dependency2.to=Ground dependency2.type=UsesDependency -dependency3.from=MyWorld +dependency3.from=PlayerTestWorld dependency3.to=Player dependency3.type=UsesDependency -dependency4.from=MyWorld -dependency4.to=Projectile +dependency4.from=PlayerTestWorld +dependency4.to=JumpBoostItem dependency4.type=UsesDependency -dependency5.from=Player -dependency5.to=GameOverWorld +dependency5.from=StartWorld +dependency5.to=Button dependency5.type=UsesDependency -dependency6.from=Player -dependency6.to=Ground +dependency6.from=MyWorld +dependency6.to=Player dependency6.type=UsesDependency -dependency7.from=Player -dependency7.to=Projectile +dependency7.from=MyWorld +dependency7.to=Plattform dependency7.type=UsesDependency -dependency8.from=Button -dependency8.to=MyWorld +dependency8.from=MyWorld +dependency8.to=MovingPlattform dependency8.type=UsesDependency -editor.fx.0.height=737 -editor.fx.0.width=814 -editor.fx.0.x=-19 -editor.fx.0.y=65 -height=736 -package.numDependencies=8 -package.numTargets=7 -dependency3.from=MyWorld -dependency3.to=Player -dependency3.type=UsesDependency -dependency4.from=Player -dependency4.to=Ground -dependency4.type=UsesDependency +dependency9.from=MyWorld +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=830 -package.numDependencies=4 -package.numTargets=4 +package.numDependencies=19 +package.numTargets=14 project.charset=UTF-8 publish.hasSource=false publish.locked=true @@ -75,62 +92,99 @@ target1.type=ClassTarget target1.width=120 target1.x=0 target1.y=0 +target10.height=70 +target10.name=TargetingProjectile +target10.showInterface=false +target10.type=ClassTarget +target10.width=120 +target10.x=0 +target10.y=0 +target11.height=70 +target11.name=Projectile +target11.showInterface=false +target11.type=ClassTarget +target11.width=120 +target11.x=0 +target11.y=0 +target12.height=70 +target12.name=Button +target12.showInterface=false +target12.type=ClassTarget +target12.width=120 +target12.x=0 +target12.y=0 +target13.height=70 +target13.name=PowerUps +target13.showInterface=false +target13.type=ClassTarget +target13.width=120 +target13.x=0 +target13.y=0 +target14.height=70 +target14.name=MyWorld +target14.showInterface=false +target14.type=ClassTarget +target14.width=120 +target14.x=0 +target14.y=0 target2.height=70 -target2.name=Ground +target2.name=MovingPlattform target2.showInterface=false target2.type=ClassTarget target2.width=120 target2.x=0 target2.y=0 target3.height=70 -target3.name=Button -target3.name=PlayerTestWorld +target3.name=Ground target3.showInterface=false target3.type=ClassTarget target3.width=120 target3.x=0 target3.y=0 target4.height=70 -target4.name=GameOverWorld +target4.name=JumpBoostItem target4.showInterface=false target4.type=ClassTarget target4.width=120 target4.x=0 target4.y=0 target5.height=70 -target5.name=StartWorld +target5.name=BreakingPlattform target5.showInterface=false target5.type=ClassTarget target5.width=120 target5.x=0 target5.y=0 target6.height=70 -target6.name=MyWorld +target6.name=GameOverWorld target6.showInterface=false target6.type=ClassTarget target6.width=120 target6.x=0 target6.y=0 target7.height=70 -target7.name=Projectile +target7.name=PlayerTestWorld target7.showInterface=false target7.type=ClassTarget target7.width=120 target7.x=0 target7.y=0 -target4.height=70 -target4.name=MyWorld -target4.showInterface=false -target4.type=ClassTarget -target4.width=120 -target4.x=0 -target4.y=0 +target8.height=70 +target8.name=StartWorld +target8.showInterface=false +target8.type=ClassTarget +target8.width=120 +target8.x=0 +target8.y=0 +target9.height=70 +target9.name=Plattform +target9.showInterface=false +target9.type=ClassTarget +target9.width=120 +target9.x=0 +target9.y=0 version=3.1.0 -width=856 -world.lastInstantiated=StartWorld -xPosition=652 -yPosition=76 width=1550 -world.lastInstantiated=PlayerTestWorld +world.lastInstantiated=MyWorld xPosition=0 yPosition=0