From 5cf095c37089b87b9da3e7cee6dd128f3ce95ef1 Mon Sep 17 00:00:00 2001 From: Jonas Date: Thu, 17 Sep 2026 09:52:17 +0200 Subject: [PATCH] Fix: game crasht nicht mehr bei damage --- SMIMS-Game/Groundflower.class | Bin 1169 -> 966 bytes SMIMS-Game/MyWorld.class | Bin 3418 -> 3892 bytes SMIMS-Game/Player.class | Bin 4548 -> 4655 bytes SMIMS-Game/Player.java | 1 - SMIMS-Game/project.greenfoot | 248 ++++++++++++++++++++++------------ 5 files changed, 159 insertions(+), 90 deletions(-) diff --git a/SMIMS-Game/Groundflower.class b/SMIMS-Game/Groundflower.class index eb6a43e9087ab3fbe48d032408ae7dc3ecad3040..0874a3fac39546e578af7e5cf98aac3ba4561dc6 100644 GIT binary patch delta 487 zcmYLFOG^S#6#nj5PR>kaYHFILJ#Fl1?>AFHn-)TgpdyIzRts}r7z^9<8)R1PT1LAd zgjz(a7XFd`LaXT9F^bDQ=fL?M=bT#LLslB!uWtYhY}S;M{kBW%itkw0Wd&{M(h!25 zq0_M{<^?ZqRSTulDz^jFi)iRZlp$Q?CGK$J%;C0SI@?vV#2MJ3;Kw!eAW>@!rh1W* z(WjvwX_7m)IWM1CmNRu=*`=bJX4%L9gTJXRm_r(dG2$LGL(O7LhOQxparc4E^iMLV zyS7y+7Yo)kw-sbCtziavh7OyX?iagvAEmtN14AqP6ldK}DRnzXODd2k2G9Z(^Hgcn z6>$NJlo^(qc&d*GDSC0ej&}M%{Tbmqs8q)2C!eV2gV2nU3+PTQ2#d3zlkO6u_pcup z`Zokx_DC#7Y30x9fON!ENj;RQW6<}4Q3>zJ?B&Q(4o%cCCCntxtb@P=MG(D6Amy1v UoAlo$g0$Ky)@XQ!b&t341F`x_6aWAK delta 690 zcmaJ;O-~b16g_WR7&`N4$5KJ5w0uZAovJNg;D1!JPzYm)LdOHjICUjH#3MQx z9-rT*{5{=~y|NWx&>}D>Qho0NjL3u{9Uwc<_y{g@it8r?gC{f-f#k|SB}~#gLxia| zCTYhOMo^^HmXQ8OK)Ea6NjS`kbX0muHt0R6I&CG*09ND+ZYem0xmL73Lru;HxGhPQ zkTg!0fh-JK_9!Moj^S{;o$itt|Eqp{STzU$wR> zUi;EMq*`m=r7Eb@{w9&fI&>zI&f@_Bwm*z3;7Y zmwf7vcdva5paj=@)j=`JR;GtyaTSHgRxsbVDaLr`p+tiX3k0mWOD5N-aNv0j3$e(! zBW60wutdR94a-n&6s6?YmupyoN<&YXo>--!3SNQKwuWd&Rb4cu%e|{L)JUz`8jEhz z>*A3nQ@ut*P^z`I)=)>w!WO+bqPNNQ>olyFhSBj*tX_{tTIwtBZ%n0qqlQh;1U!{Z zp?G|2G}c@i-O&;cN7Fl6RD`faL7j#$bVIciC$@YbeihaOYWhHQzgL&FOao2v6Zoz;=% zwR%j!P63;|V5hv^ZVg>17jW=ywUKbVK`Ij(UX;pID$DdpeFGWk#7mNffP(!za5x4k z_DQY|89!Mv(+(orLpER0a0IU!w=J{mM>QP7abv3W&!x5o$*q7=ZjxLmU^g}SLqb5n z5~|~hw5oWhuCXH2S{>Tbq!X@*U+y$<7aFr|YcjqP5F*`~+8?Pqb- z*lG7$2LyaZm)&RFuzPHF!rEl~W`DxVh)@Q`nzI5P4==}VBTbpJ>;x@7C>*_Ta)k$@ zD5X>9##0!FNyvghtHvEbE>7Zg&MC-DoZs(PL6uU9#PMOcWy{0<}^C$s8WRcZ zX^xXHg|Gscj3W3^n&4+S@~{R|QHN*Hf@z3jI!S*PhmnsHT>36%-~wi%7qf63&*27U z<0j_dR}|n6mf~&9#os6rR?HJ=m@hI>ES^M($YW8?M5!poLQ#!HW?c3s?|v^X4w0z9 z8+en!$`S<(`CANCK;+W{ytRmt>wGce+e5-A&Ue|C41A{;`kM8b};;YSN>&e@CRwPhADZr(%`A@ z!Ptk_CT$Hpc#O74(AJN}fZ$O!CAs=5PfAxSVOTf*DfDELe#JSj9kBF^8(DSQSeuiY)qox!vLbOuT2F0#aFkFAM9KlYaUr?^EPWmo=Yi=@?(;I`qojAQ-*JE3A1 z#$Y!KsEdWL2gSUsEdLC8%%kN3J|+tJ|4KFjiPr}44;KpgpScI|Ff&j>3=o)d3KIsf zkCYr3iNY9k`Vzz4XCKpkKl{!BcAkSQ>q9JRS+7U#yH6*G8hm294~%e6Pr0eo@~`y> z?`fv@gY^FLNbhD0+=i}YRt;k~N({${;W#mL6T=C!-{rHQhe9ARtjDMSi-G@NiNUz3 z+&;WE+`~K!49K<0J}{OQK8ao6;r435XIzzn&+!Fk2aoLK`z8AMrBb?r JYxoA<{{U6bwMPH| delta 1642 zcmZ`(ZA@EL7=BJ$db`UlZ7+k-0TtQiSlJvOGB?>^8*_{S16BrfA8w^BpM^px;1npE zn{Iy2UB8B#h#F%|{6U;_x@fXLX3?0KnD|5g7=QRvV=`l6BKq7?2ZWin=bWDRyzl$G z=Xu_9-Sxv-`K$TQz5uWX@6F1$h4!;ho#m)dkb+79Q$fw978w@oQLqzpX`A^;1!EZ3J~I8e+UWE1sMQno`Frbq1I@nn zP*D3dr7iPy0U>N=T#+$_Hzi!v-LGlK&EJW)wIa!FdPl&e-7>Gyrp=NzCaGm9OyY&Y z5lBtWw&biP=ZwT`h9FB$juYC~(vI2~JzS7DW+gmTq|s{Qo*nDB+K9E7q*b8@P=GTy z%h|xwi5Og3VS)?@=f@2elZd%*qTK69y%EPQ2W~qIm2+^-CS3GXBgo~LPlDGW9qW;e z4g5TSLMAF@_+8k9D!3_*LbPEsiQ9sHJcuZ^VjM-dh+%JCO=3KJ?s7Ag}pbS&UZ)?g71JcVT=?FHW2W$rx7m6>U~@ElhX6MOJHR~BZw4=o#pJJcDTd=wp{?6f`c1JFa9dgg1iN9v|b+k?)o42^d8^>0MxO4+YExbdwz2pYGT}b~31QZ@?uUQ(?*a8%HJN^SdF}<#Ofl44)*96SQ9> ztp?7eButvZ`kNSFt&uu+p+jsYGupKE{@7x34N@u*w$%_DD@w%=Q|qJD@#zGnOop-{ zli^=xcm_?P(}6Hefv%{Qd#1J~QV%ip@ZHq*l2b-qFb=IUEz7frVT>5YnP-9+V#F{> z3}=bq+%gO;l==T*;5)6CuYH(S&^`jNzwJBc@Wf(!tAq>EBC{hhct;!AFO%F^{(2ap banFEP@G55uL%zY^YitY9Q(zi1q}2H@g!wt^ diff --git a/SMIMS-Game/Player.class b/SMIMS-Game/Player.class index 62aa04eaba52f75b7e4ac3c3fa1ecc623023b2b5..38bfcc69a07c207d8840183e2b0c40a5177444dd 100644 GIT binary patch delta 1241 zcmYk6d2Ccw6vlt|&6|BX(@t8Tol*(3h7ODkPBTcL5pH>+|gE4-1mLOh|77?F`a+TyXT(oJIi-Z-q^gy zY6Ii{jEn+HIkh)%wr7r)Cl&5iqtna=F|k7&;3x%KS&-p3<$!m1D4AgG~0)0xw#)dkcCf^_3b&6D1gU1AZB(!4C zfnScFtGJYt(!ZCCJn4sW^07hiAIZtja=Q4KPlOF4g|u$=^J#wKY98b>IcY3p3!n1^ zE*iL#FR4W5E8#f0OvS#Im@{z<*S{>rvPx=1#V1O7q@SvAa+%Z59Kp<{j&Jx@azcBd zVwhIG<9o^FWbmV%rrFERs9Y?V8ceQF3fXytP1d$>y}H6W9Bv$p+cd|ckJ_Yd_T(M8 zi0-p_+%?R8jYDWQ!+VA0Vp43JfLN0<`Z$BE`0GT9^&-smv@yVy+{m>e&qi)yTJKFo zdVA2~f6*bGoR3GB&xF+)nRkwpJS;`vW>NYUDX_69L9{4=3{fVu#f1mk6-l)_DPt0+lbQ4-mb@`z;lfgha~WFsGt2a!iq`ocCXr6+8ju^LJfi=ML? z+d9kBzvUB=Net;uHlw9F|=WSG09{d>e(Y-1}!+{+`}#~!xJ4`c^p>||W_ zYm$d#h#}?T;ry_1^pz4=!cY9{XrlDO+|KEj{K7e>U-?Z|$XS;vf`8NKWmJX3;b4tc TJ@YgRytJIc*`MD9q4CFmQA;1j delta 1122 zcmYk5d2Ccw7{z~g-kYVfylE#`+fG|qS_qYq;51WBFovZHNUgjIoPZJrP>AegwyHGYbNKNOfebwq?Bn6l0wOe1AHMHREjD^wRK7^o@{sCNYF zgGbcJn$R;{8ohubns|cG!VG$SkQOMBmsJhw1rCbD+Y~`|4 zE+(;>D_q53GVgPZa@pTc!qGw9pIw)kjv$Kh9}U>YL)8-N?a&hO|B@A-p!YLcFjdrY zgP%nc<~eV)#NAD9iPl-W+bRtW%dA_l`VgAzVQZplu0{nE|rsqw}kvQqj-l(-lc~33PfrPL}Ux2!lLpEzsf3R)fS0UjzF1{=DHGQ zEK85QsW>*}i!A*ci5m%X2eDXWf3B@Dbz2>ae3@$>aO*Z4i+m-meW!SF*Fcuf`}jt& ziHdS}M7KsCLoN<75Y2LQ2c_liy$sBc_Hwd>p%T~lEF1FKCJ2d{5BY$P+$_3EZ hrGmh})O*>jEXxX1yDA^N%fnt~-H}f~i8O-y`+r+7`FQ{U diff --git a/SMIMS-Game/Player.java b/SMIMS-Game/Player.java index 85f78cb..d99b9e5 100644 --- a/SMIMS-Game/Player.java +++ b/SMIMS-Game/Player.java @@ -122,7 +122,6 @@ public class Player extends Actor getWorld().removeObjects(getIntersectingObjects(Spike.class)); getWorld().removeObject(getWorld().getObjects(Heart.class).get(0)); - getWorld().removeObject(getWorld().getObjects(Heart.class).get(0)); } } diff --git a/SMIMS-Game/project.greenfoot b/SMIMS-Game/project.greenfoot index 4d01a29..63df7cd 100644 --- a/SMIMS-Game/project.greenfoot +++ b/SMIMS-Game/project.greenfoot @@ -1,143 +1,178 @@ #Greenfoot project file class.BreakingPlattform.image=Breaking1.png class.Button.image=button-red.png +class.Enemy.image=bee.png class.GameOverWorld.image=GameOverBackground.png class.Ground.image=weave.jpg +class.Groundflower.image=flower2.png +class.HealthItem.image=Health.png +class.Heart.image=Health.png class.JumpBoostItem.image=mushroom.png class.MovingPlattform.image=Platform1.png class.MyWorld.image=GameBackground.png class.Plattform.image=Platform1.png class.Player.image=Player.png +class.PlayerProjectile.image=beeper.png class.Projectile.image=Projectile1.png class.Spike.image=singleSpike.png class.SpikedPlattform.image=Spikes2.png class.StartWorld.image=StartBackground.png class.TargetingProjectile.image=blue-draught.png class.UnactiveSpike.image=inactiveSpike.png -dependency1.from=GameOverWorld -dependency1.to=Button +dependency1.from=PlayerTestWorld +dependency1.to=Ground dependency1.type=UsesDependency dependency10.from=MyWorld -dependency10.to=BreakingPlattform +dependency10.to=MovingPlattform dependency10.type=UsesDependency dependency11.from=MyWorld -dependency11.to=SpikedPlattform +dependency11.to=BreakingPlattform dependency11.type=UsesDependency dependency12.from=MyWorld -dependency12.to=Projectile +dependency12.to=SpikedPlattform dependency12.type=UsesDependency dependency13.from=MyWorld -dependency13.to=TargetingProjectile +dependency13.to=Groundflower dependency13.type=UsesDependency -dependency14.from=Spike -dependency14.to=GameOverWorld +dependency14.from=MyWorld +dependency14.to=Enemy dependency14.type=UsesDependency -dependency15.from=Spike -dependency15.to=MyWorld +dependency15.from=MyWorld +dependency15.to=Projectile dependency15.type=UsesDependency -dependency16.from=Spike -dependency16.to=Player +dependency16.from=MyWorld +dependency16.to=TargetingProjectile dependency16.type=UsesDependency -dependency17.from=Player -dependency17.to=GameOverWorld +dependency17.from=GameOverWorld +dependency17.to=Button dependency17.type=UsesDependency -dependency18.from=Player -dependency18.to=Plattform +dependency18.from=StartWorld +dependency18.to=Button dependency18.type=UsesDependency -dependency19.from=Player -dependency19.to=PlayerProjectile +dependency19.from=UnactiveSpike +dependency19.to=SpikedPlattform dependency19.type=UsesDependency dependency2.from=PlayerTestWorld -dependency2.to=Ground +dependency2.to=Player dependency2.type=UsesDependency -dependency20.from=Player -dependency20.to=Projectile +dependency20.from=UnactiveSpike +dependency20.to=MyWorld dependency20.type=UsesDependency -dependency21.from=Player -dependency21.to=Enemy +dependency21.from=UnactiveSpike +dependency21.to=Spike dependency21.type=UsesDependency -dependency22.from=UnactiveSpike -dependency22.to=SpikedPlattform +dependency22.from=Button +dependency22.to=MyWorld dependency22.type=UsesDependency -dependency23.from=UnactiveSpike -dependency23.to=MyWorld +dependency23.from=PowerUps +dependency23.to=Player dependency23.type=UsesDependency -dependency24.from=UnactiveSpike -dependency24.to=Spike +dependency24.from=HealthItem +dependency24.to=Player dependency24.type=UsesDependency -dependency25.from=Plattform -dependency25.to=MyWorld +dependency25.from=JumpBoostItem +dependency25.to=Player dependency25.type=UsesDependency -dependency26.from=Plattform +dependency26.from=Groundflower dependency26.to=Player dependency26.type=UsesDependency -dependency27.from=MovingPlattform -dependency27.to=MyWorld +dependency27.from=Enemy +dependency27.to=Player dependency27.type=UsesDependency -dependency28.from=MovingPlattform -dependency28.to=Player +dependency28.from=Enemy +dependency28.to=EnemyProjectile dependency28.type=UsesDependency -dependency29.from=SpikedPlattform -dependency29.to=Spike +dependency29.from=Spike +dependency29.to=MyWorld dependency29.type=UsesDependency dependency3.from=PlayerTestWorld -dependency3.to=Player +dependency3.to=JumpBoostItem dependency3.type=UsesDependency -dependency30.from=SpikedPlattform +dependency30.from=Player dependency30.to=GameOverWorld dependency30.type=UsesDependency -dependency31.from=SpikedPlattform -dependency31.to=MyWorld +dependency31.from=Player +dependency31.to=Plattform dependency31.type=UsesDependency -dependency32.from=SpikedPlattform -dependency32.to=UnactiveSpike +dependency32.from=Player +dependency32.to=PlayerProjectile dependency32.type=UsesDependency -dependency33.from=TargetingProjectile -dependency33.to=Player +dependency33.from=Player +dependency33.to=TemporaryGround dependency33.type=UsesDependency -dependency34.from=Button -dependency34.to=MyWorld +dependency34.from=Player +dependency34.to=Projectile dependency34.type=UsesDependency -dependency35.from=PowerUps -dependency35.to=Player +dependency35.from=Player +dependency35.to=Enemy dependency35.type=UsesDependency -dependency36.from=JumpBoostItem -dependency36.to=Player +dependency36.from=Player +dependency36.to=Spike dependency36.type=UsesDependency -dependency37.from=Enemy -dependency37.to=Player +dependency37.from=Player +dependency37.to=Heart dependency37.type=UsesDependency -dependency38.from=Enemy -dependency38.to=EnemyProjectile +dependency38.from=Healthbar +dependency38.to=Player dependency38.type=UsesDependency -dependency39.from=PlayerProjectile -dependency39.to=Enemy +dependency39.from=Plattform +dependency39.to=MyWorld dependency39.type=UsesDependency -dependency4.from=PlayerTestWorld -dependency4.to=JumpBoostItem +dependency4.from=MyWorld +dependency4.to=Player dependency4.type=UsesDependency -dependency5.from=StartWorld -dependency5.to=Button +dependency40.from=Plattform +dependency40.to=Player +dependency40.type=UsesDependency +dependency41.from=MovingPlattform +dependency41.to=MyWorld +dependency41.type=UsesDependency +dependency42.from=MovingPlattform +dependency42.to=Player +dependency42.type=UsesDependency +dependency43.from=TemporaryGround +dependency43.to=Player +dependency43.type=UsesDependency +dependency44.from=SpikedPlattform +dependency44.to=Spike +dependency44.type=UsesDependency +dependency45.from=SpikedPlattform +dependency45.to=GameOverWorld +dependency45.type=UsesDependency +dependency46.from=SpikedPlattform +dependency46.to=MyWorld +dependency46.type=UsesDependency +dependency47.from=SpikedPlattform +dependency47.to=UnactiveSpike +dependency47.type=UsesDependency +dependency48.from=TargetingProjectile +dependency48.to=Player +dependency48.type=UsesDependency +dependency49.from=PlayerProjectile +dependency49.to=Enemy +dependency49.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=Heart 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=754 -editor.fx.0.y=45 +editor.fx.0.x=444 +editor.fx.0.y=78 height=830 -package.numDependencies=39 -package.numTargets=21 +package.numDependencies=49 +package.numTargets=26 project.charset=UTF-8 publish.hasSource=false publish.locked=true @@ -153,112 +188,147 @@ readme.x=10 readme.y=10 simulation.speed=50 target1.height=70 -target1.name=Spike +target1.name=Heart target1.showInterface=false target1.type=ClassTarget target1.width=120 target1.x=0 target1.y=0 target10.height=70 -target10.name=StartWorld +target10.name=Button target10.showInterface=false target10.type=ClassTarget target10.width=120 target10.x=0 target10.y=0 target11.height=70 -target11.name=Plattform +target11.name=PowerUps target11.showInterface=false target11.type=ClassTarget target11.width=120 target11.x=0 target11.y=0 target12.height=70 -target12.name=TargetingProjectile +target12.name=Enemy target12.showInterface=false target12.type=ClassTarget target12.width=120 target12.x=0 target12.y=0 target13.height=70 -target13.name=Projectile +target13.name=MyWorld target13.showInterface=false target13.type=ClassTarget target13.width=120 target13.x=0 target13.y=0 target14.height=70 -target14.name=Score +target14.name=Spike target14.showInterface=false target14.type=ClassTarget target14.width=120 target14.x=0 target14.y=0 target15.height=70 -target15.name=Button +target15.name=Groundflower target15.showInterface=false target15.type=ClassTarget target15.width=120 target15.x=0 target15.y=0 target16.height=70 -target16.name=EnemyProjectile +target16.name=Player target16.showInterface=false target16.type=ClassTarget target16.width=120 target16.x=0 target16.y=0 target17.height=70 -target17.name=PowerUps +target17.name=Healthbar target17.showInterface=false target17.type=ClassTarget target17.width=120 target17.x=0 target17.y=0 target18.height=70 -target18.name=Enemy +target18.name=BreakingPlattform target18.showInterface=false target18.type=ClassTarget target18.width=120 target18.x=0 target18.y=0 target19.height=70 -target19.name=PlayerProjectile +target19.name=GameOverWorld target19.showInterface=false target19.type=ClassTarget target19.width=120 target19.x=0 target19.y=0 target2.height=70 -target2.name=Player +target2.name=MovingPlattform target2.showInterface=false target2.type=ClassTarget target2.width=120 target2.x=0 target2.y=0 target20.height=70 -target20.name=SpikedPlattform +target20.name=StartWorld target20.showInterface=false target20.type=ClassTarget target20.width=120 target20.x=0 target20.y=0 target21.height=70 -target21.name=MyWorld +target21.name=Plattform target21.showInterface=false target21.type=ClassTarget target21.width=120 target21.x=0 target21.y=0 +target22.height=70 +target22.name=Projectile +target22.showInterface=false +target22.type=ClassTarget +target22.width=120 +target22.x=0 +target22.y=0 +target23.height=70 +target23.name=Score +target23.showInterface=false +target23.type=ClassTarget +target23.width=120 +target23.x=0 +target23.y=0 +target24.height=70 +target24.name=EnemyProjectile +target24.showInterface=false +target24.type=ClassTarget +target24.width=120 +target24.x=0 +target24.y=0 +target25.height=70 +target25.name=PlayerProjectile +target25.showInterface=false +target25.type=ClassTarget +target25.width=120 +target25.x=0 +target25.y=0 +target26.height=70 +target26.name=SpikedPlattform +target26.showInterface=false +target26.type=ClassTarget +target26.width=120 +target26.x=0 +target26.y=0 target3.height=70 -target3.name=MovingPlattform +target3.name=Ground target3.showInterface=false target3.type=ClassTarget target3.width=120 target3.x=0 target3.y=0 target4.height=70 -target4.name=Ground +target4.name=HealthItem target4.showInterface=false target4.type=ClassTarget target4.width=120 @@ -279,21 +349,21 @@ target6.width=120 target6.x=0 target6.y=0 target7.height=70 -target7.name=BreakingPlattform +target7.name=PlayerTestWorld target7.showInterface=false target7.type=ClassTarget target7.width=120 target7.x=0 target7.y=0 target8.height=70 -target8.name=GameOverWorld +target8.name=TargetingProjectile target8.showInterface=false target8.type=ClassTarget target8.width=120 target8.x=0 target8.y=0 target9.height=70 -target9.name=PlayerTestWorld +target9.name=TemporaryGround target9.showInterface=false target9.type=ClassTarget target9.width=120