From 9fa05786d256c89f567205882da50a3e60c51bb0 Mon Sep 17 00:00:00 2001 From: Max Date: Thu, 17 Sep 2026 17:02:54 +0200 Subject: [PATCH] Beta1 --- fighter/MyWorld.class | Bin 5263 -> 8345 bytes fighter/MyWorld.ctxt | 14 ++- fighter/MyWorld.java | 189 ++++++++++++++++++++++++++++++++++++-- fighter/Picture.class | Bin 961 -> 974 bytes fighter/Picture.java | 3 + fighter/Projectile.class | Bin 0 -> 1709 bytes fighter/Projectile.ctxt | 13 +++ fighter/Projectile.java | 67 ++++++++++++++ fighter/Projectile2.class | Bin 0 -> 1712 bytes fighter/Projectile2.ctxt | 13 +++ fighter/Projectile2.java | 67 ++++++++++++++ fighter/images/blue.png | Bin 0 -> 643 bytes fighter/player1.class | Bin 9637 -> 9900 bytes fighter/player1.java | 15 +++ fighter/player2.class | Bin 9653 -> 9863 bytes fighter/player2.java | 10 ++ fighter/project.greenfoot | 46 ++++++++-- 17 files changed, 421 insertions(+), 16 deletions(-) create mode 100644 fighter/Projectile.class create mode 100644 fighter/Projectile.ctxt create mode 100644 fighter/Projectile.java create mode 100644 fighter/Projectile2.class create mode 100644 fighter/Projectile2.ctxt create mode 100644 fighter/Projectile2.java create mode 100644 fighter/images/blue.png diff --git a/fighter/MyWorld.class b/fighter/MyWorld.class index 0c66068a19e8c0d4517fb1679f62792c24386135..e603b1d7cfa3d7aba75880b5da6ecb8b868af423 100644 GIT binary patch literal 8345 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 -attack1Distance && player1.getY() - player2.getY() < 30 && player1.getY() - player2.getY() > -30){ - player1.leben = player1.leben -attack1Strength; + if(player1.getX() - player2.getX() < attack1DistanceP2 && player1.getX() - player2.getX() > -attack1DistanceP2 && player1.getY() - player2.getY() < 30 && player1.getY() - player2.getY() > -30){ + player1.leben = player1.leben -attack1StrengthP2; setPaintOrder(Player2.class,Player1.class); if(player1.schautNachRechts){ player1.setImage(player1.hitAnimation); @@ -121,8 +138,8 @@ public class MyWorld extends World } } if(player2.attacke2() &! player1.isBlocking){ - if(player1.getX() - player2.getX() < attack2Distance && player1.getX() - player2.getX() > -attack2Distance && player1.getY() - player2.getY() < 30 && player1.getY() - player2.getY() > -30){ - player1.leben = player1.leben -attack2Strength; + if(player1.getX() - player2.getX() < attack2DistanceP2 && player1.getX() - player2.getX() > -attack2DistanceP2 && player1.getY() - player2.getY() < 30 && player1.getY() - player2.getY() > -30){ + player1.leben = player1.leben -attack2StrengthP2; setPaintOrder(Player2.class,Player1.class); if(player1.schautNachRechts){ player1.setImage(player1.hitAnimation); @@ -164,9 +181,9 @@ public class MyWorld extends World } } if(player2.dashAttack()){ - if(player1.getX() - player2.getX() < attack2Distance && player1.getX() - player2.getX() > -attack2Distance && player1.getY() - player2.getY() < 30 && player1.getY() - player2.getY() > -30){ + if(player1.getX() - player2.getX() < attack2DistanceP2 && player1.getX() - player2.getX() > -attack2DistanceP2 && player1.getY() - player2.getY() < 30 && player1.getY() - player2.getY() > -30){ player1.isBlocking = false; - player1.leben = player1.leben -attack2Strength; + player1.leben = player1.leben -attack2StrengthP2; setPaintOrder(Player2.class,Player1.class); if(player1.schautNachRechts){ player1.setImage(player1.hitAnimation); @@ -191,8 +208,60 @@ public class MyWorld extends World l2.leben(player2.leben, player2.maxLeben); l1.setLocation(150 - (int)(100 - ((double)player1.leben/(double)player1.maxLeben)*100), 40); l2.setLocation(450 + (int)(100 - ((double)player2.leben/(double)player2.maxLeben)*100), 40); + s1.setLocation(125 - (int)(60 - ((double)player1.shakra/(double)player1.maxShakra)*60),67); + s2.setLocation(475 + (int)(60 - ((double)player2.shakra/(double)player2.maxShakra)*60),67); + shakra(); gameEnd(); lebensAnzeige(); + updateTimersP1(); + if(Greenfoot.isKeyDown("y")){ + shootP1(); + } + if(Greenfoot.isKeyDown("m")){ + shootP2(); + } + if(shot){ + if(projectile1.hit){ + player2.leben = player2.leben -20; + if(player2.schautNachRechts){ + player2.setImage(player2.hitAnimation); + GreenfootImage image = player2.getImage(); + image.scale(250, 250); + player2.setImage(image); + } + else{ + player2.setImage(player2.hitAnimation); + GreenfootImage image = player2.getImage(); + image.scale(250, 250); + player2.setImage(image); + player2.getImage().mirrorHorizontally(); + } + player2.hitTimer = System.currentTimeMillis() + 250; + player2.gotHit = true; + shot = false; + } + } + if(shot2){ + if(projectile2.hit){ + player1.leben = player1.leben -20; + if(player1.schautNachRechts){ + player1.setImage(player1.hitAnimation); + GreenfootImage image = player1.getImage(); + image.scale(250, 250); + player1.setImage(image); + } + else{ + player1.setImage(player1.hitAnimation); + GreenfootImage image = player1.getImage(); + image.scale(250, 250); + player1.setImage(image); + player1.getImage().mirrorHorizontally(); + } + player1.hitTimer = System.currentTimeMillis() + 250; + player1.gotHit = true; + shot2 = false; + } + } } public void gameEnd(){ @@ -208,24 +277,130 @@ public class MyWorld extends World } + public void shakra(){ + if(player1.shakra > 0){ + s1.setImage("blue.png"); + GreenfootImage imag = s1.getImage(); + imag.scale((int)(120 * ((double)player1.shakra/(double)player1.maxShakra)),5); + s1.setImage(imag); + } + if(player2.shakra > 0){ + s2.setImage("blue.png"); + GreenfootImage imag2 = s2.getImage(); + imag2.scale((int)(120 * ((double)player2.shakra/(double)player1.maxShakra)),5); + s2.setImage(imag2); + } + + } + + protected void updateTimersP1() + { + if (player1.shootCooldown > 0) { + player1.shootCooldown--; + } + if (player2.shootCooldown > 0) { + player2.shootCooldown--; + } + if (player1.ultiCooldown > 0) { + player1.ultiCooldown--; + } + if (player2.ultiCooldown > 0) { + player2.ultiCooldown--; + } + } + + public void shootP1() + { + if (player1.shootCooldown > 0) { + return; + } + + + int direction = player1.schautNachRechts ? 1 : -1; + + projectile1 = new Projectile(direction, player1, player2); + projectile1.setImage(shootAnimation); + GreenfootImage image = projectile1.getImage(); + image.scale(100, 100); + projectile1.setImage(image); + + int spawnX = player1.getX() + direction * 60; + int spawnY = player1.getY() - 10; + + addObject(projectile1, spawnX, spawnY); + shot = true; + + player1.shootCooldown = 60; + } + + public void shootP2() + { + if (player2.shootCooldown > 0) { + return; + } + + + int direction = player2.schautNachRechts ? 1 : -1; + + projectile2 = new Projectile2(direction, player2, player1); + projectile2.setImage(shootAnimationP2); + GreenfootImage image = projectile2.getImage(); + image.scale(100, 100); + projectile2.setImage(image); + + int spawnX = player2.getX() + direction * 60; + int spawnY = player2.getY() - 10; + + addObject(projectile2, spawnX, spawnY); + shot2 = true; + + player2.shootCooldown = 60; + } + public void charakterP1(){ if(charakterP1 == 1){ attack1Distance = 95; attack2Distance = 120; attack1Strength = 10; attack2Strength = 20; + shootAnimation = "RenProjectile.png"; } else if(charakterP1 == 2){ attack1Distance = 95; attack2Distance = 145; attack1Strength = 15; - attack2Strength = 30; + attack2Strength = 30; + shootAnimation = "TetsuProjectile.png"; } else if(charakterP1 == 3){ attack1Distance = 95; attack2Distance = 110; attack1Strength = 8; attack2Strength = 15; + shootAnimation = "HinataProjectile.png"; + } + } + public void charakterP2(){ + if(charakterP2 == 1){ + attack1DistanceP2 = 95; + attack2DistanceP2 = 120; + attack1StrengthP2 = 10; + attack2StrengthP2 = 20; + shootAnimationP2 = "RenProjectile.png"; + } + else if(charakterP2 == 2){ + attack1DistanceP2 = 95; + attack2DistanceP2 = 145; + attack1StrengthP2 = 15; + attack2StrengthP2 = 30; + shootAnimationP2 = "TetsuProjectile.png"; + } + else if(charakterP2 == 3){ + attack1DistanceP2 = 95; + attack2DistanceP2 = 110; + attack1StrengthP2 = 8; + attack2StrengthP2 = 15; + shootAnimationP2 = "HinataProjectile.png"; } } } diff --git a/fighter/Picture.class b/fighter/Picture.class index 55763a7aa1477fd45ecce7f10b99a77b6750c260..78602a2b563df99f2afada5e747bede9bb8b6e27 100644 GIT binary patch delta 86 zcmX@eevW-Z6BDN+12Y2?0|P_f>LXim^T7Nm>JZ7WE6wgWLf4==3WNF j$%V|ua(xUM44Oc3Js@UhU{zF5RA6UdWY7n4nHUTJ-C+%A delta 73 zcmX@devo}b6BDNi12Y2?0|P_b3Ji=4`am8Ng8={rGYa}`_e%SX8)!yB1Oe_{dbPEaF*(4_}GbMevcrJ$!88%)X8)LDewKr1Rx+ zVKsviiZJK2i8oV&+2qUqBBO9%7Mzy#2Xoz9!_bYc|C0GlkEw+~O@R zS>Gw%jF5DFfmIu83XiaUsvTn^)rz~gDSc<5KYxOH)3L?Es)fOP`E^a>!?aPP?gcfX z%2qsIKRjq`>Tt!~l}+7ObK=a- zu`)Yn$?O~-vvXR^&e1SC2Z4JBSX69q{gSso7$wEM zk^5pa37NmxEkhc&Lk@l3c8*Bj5yo~N^EPvgxwdQht%84wK}?)*IrQ2k=QeiPC{a{K~ zc}BPtw#zm`6u>km`Z|_am^G%VaT6X3BxPw4u^Xcn;%y}V!diEdp!pk!Q&@>p7@+s1 o-&$=nEN6Zz?Px8!@6yK%J! -70 && getY() - enemy.getY() < 30 && getY() - enemy.getY() > -30 && isInWorld){ + hit = true; + removeProjectile(); + } + else if(lifetime <= 0 || isAtEdge()){ + removeProjectile(); + } + } + + private void removeProjectile() + { + if (getWorld() != null) { + isInWorld = false; + getWorld().removeObject(this); + } + } + +} \ No newline at end of file diff --git a/fighter/Projectile2.class b/fighter/Projectile2.class new file mode 100644 index 0000000000000000000000000000000000000000..17392e73616b841116048916f962a8ed569cdaf6 GIT binary patch literal 1712 zcmZ`(T~ixn6n-`dS(3g$%4dPLQfnnyTM$}pZCVg3Dbci`AQb%SlDxpuB+D#I9sDP~ zahy(Pymp4*OfS6j!oT31f5RE|Iqz;87{`l!KhAm2InQ~{Is5zHFMkCvhn*}ENZLp# zbRcb^XFJfkx#j!e6+Vcx3!4QD)fq|v+ix_&}$fBzruhBRrMeUbTcdkZloAeI46p3 zx9K(9(DR!sGzrAfh{7n&TgZ6(<>s0n)FtYMXf7(eA)4fl7s~yT!kgkGQ}Y4=>NiFD zmckXhO~n3pP0buLm8H6SsDtUEX!8mMIMnKdf=O)auq>HbIG-<6 z+PvL=#h}sB=3PwLm{zzh1fToAhZcGpUJ&@ff**L_`_0g;*AFG&dkXK1Wp~4Ws@sH% z>XyO>qUx;f=<1UNFBD->;STOvND<&8Q?{~*XB9qtC0-Z7M+*1wF^jmb!-`)u3^VC` zxm;MyqJ*N2`xfkonJJOXirFU$pGwSJp#KZ#fx<&95|Fn)7tYs&9JbAd*nOt(IhG^d z;*#~9;>`$2*B4l|v8M0{>!M)SH$q7FI0`=F6{Z8Xu;NB6ZKN z5miscYwCvwjZGb_xSMrKdWD1fsvCH6kA9FM0ceQBvGX&M&Z>T($+t1Vo1uC*{en)ne}=NRuCWAbNuO5!W7x6#eDpT0B9A&VTb z4DuH+%F`ImGN)csVr8)|jfsO?WJjlqDi!H%2YQ+erR}wXP&V^G6V;uo9;* rK<`VxMQt=JXMQW~Xc66a>0^eTXW1@uC!!3Th{D?S)AtqwCb0c43WqoO literal 0 HcmV?d00001 diff --git a/fighter/Projectile2.ctxt b/fighter/Projectile2.ctxt new file mode 100644 index 0000000..cc18050 --- /dev/null +++ b/fighter/Projectile2.ctxt @@ -0,0 +1,13 @@ +#BlueJ class context +comment0.target=Projectile2 +comment1.params=direction\ pOwner\ pEnemy +comment1.target=Projectile2(int,\ Player2,\ Player1) +comment2.params= +comment2.target=void\ act() +comment3.params= +comment3.target=void\ moveProjectile() +comment4.params= +comment4.target=void\ checkHit() +comment5.params= +comment5.target=void\ removeProjectile() +numComments=6 diff --git a/fighter/Projectile2.java b/fighter/Projectile2.java new file mode 100644 index 0000000..14037d3 --- /dev/null +++ b/fighter/Projectile2.java @@ -0,0 +1,67 @@ +import greenfoot.*; + +public class Projectile2 extends Actor +{ + Player2 owner; + Player1 enemy; + int direction; + + int speed = 10; + int damage = 10; + + int lifetime = 100; + + + int currentFrame = 0; + int animationTimer = 0; + boolean isInWorld = true; + boolean hit = false; + public Projectile2(int direction, Player2 pOwner, Player1 pEnemy) + { + this.direction = direction; + this.owner = pOwner; + enemy = pEnemy; + + //Bilder für Schüsse nach links spiegeln + if (direction == -1) { + getImage().mirrorHorizontally(); + } + + + } + + public void act() + { + moveProjectile(); + //animate(); + checkHit(); + + lifetime--; + + } + + private void moveProjectile() + { + setLocation(getX() + speed * direction, getY()); + } + + private void checkHit() + { + if (getX() - enemy.getX() < 70 && getX() - enemy.getX() > -70 && getY() - enemy.getY() < 30 && getY() - enemy.getY() > -30 && isInWorld){ + hit = true; + removeProjectile(); + } + else if(lifetime <= 0 || isAtEdge()){ + removeProjectile(); + } + } + + private void removeProjectile() + { + if (getWorld() != null) { + isInWorld = false; + getWorld().removeObject(this); + } + } + +} \ No newline at end of file diff --git a/fighter/images/blue.png b/fighter/images/blue.png new file mode 100644 index 0000000000000000000000000000000000000000..54d5c58d4ed9ea9d92d2bcd530bedf52274bd7c9 GIT binary patch literal 643 zcmeAS@N?(olHy`uVBq!ia0y~yVAKJ!S8%Wa$tdm1{6LDaILO_JVcj{Imp~3nx}&cn z1H;CC?mvmFKt5-IM`SSr1K(i~W;~w1B87p0Ny5{`F{C2y?FmEP0|pE%8$YxMmZV-} vvS5-w*(^T)^B(yFqCyO-N6`oifyH&YU6yj6#j8I66Apu?tDnm{r-UW|NlK!l literal 0 HcmV?d00001 diff --git a/fighter/player1.class b/fighter/player1.class index 808176a997a1b050379040781218ffcf8c699ae2..baa57491bc0306db48ba0b82d4e0424b5a907cb0 100644 GIT binary patch literal 9900 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 literal 9637 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 literal 9653 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 TE{Gy?N3o4>Iz%N=miYb;^)}Fh diff --git a/fighter/player2.java b/fighter/player2.java index 651d8f7..3a336f6 100644 --- a/fighter/player2.java +++ b/fighter/player2.java @@ -57,6 +57,10 @@ public class Player2 extends Actor boolean isDashAttack = false; long dashAttackTimer2 = 0; boolean isBlocking = false; + int shakra; + int maxShakra; + int shootCooldown = 0; + int ultiCooldown = 0; Player2(int pCharakter){ charakter = pCharakter; @@ -505,6 +509,8 @@ public class Player2 extends Actor speedFaktor = 1; speedFaktor2 = speedFaktor; vDashSpeedCharakter = 12; + maxShakra = 80; + shakra = maxShakra; } if(charakter == 2){ defaultAnimation = "Tetsu1Combo1.png"; @@ -526,6 +532,8 @@ public class Player2 extends Actor speedFaktor = 0.5; speedFaktor2 = 0.75; vDashSpeedCharakter = 10; + maxShakra = 100; + shakra = maxShakra; } if(charakter == 3){ defaultAnimation = "HinataShoot1.png"; @@ -547,6 +555,8 @@ public class Player2 extends Actor speedFaktor = 2; speedFaktor2 = 8; vDashSpeedCharakter = 14; + maxShakra = 60; + shakra = maxShakra; } setImage(defaultAnimation); GreenfootImage image = getImage(); diff --git a/fighter/project.greenfoot b/fighter/project.greenfoot index 6b0a1b2..7c2f04a 100644 --- a/fighter/project.greenfoot +++ b/fighter/project.greenfoot @@ -11,8 +11,26 @@ dependency10.from=MyWorld dependency10.to=Picture dependency10.type=UsesDependency dependency11.from=MyWorld -dependency11.to=EndWorld +dependency11.to=Projectile dependency11.type=UsesDependency +dependency12.from=MyWorld +dependency12.to=Projectile2 +dependency12.type=UsesDependency +dependency13.from=MyWorld +dependency13.to=EndWorld +dependency13.type=UsesDependency +dependency14.from=Projectile2 +dependency14.to=Player2 +dependency14.type=UsesDependency +dependency15.from=Projectile2 +dependency15.to=Player1 +dependency15.type=UsesDependency +dependency16.from=Projectile +dependency16.to=Player1 +dependency16.type=UsesDependency +dependency17.from=Projectile +dependency17.to=Player2 +dependency17.type=UsesDependency dependency2.from=StartWorld dependency2.to=Picture dependency2.type=UsesDependency @@ -42,8 +60,8 @@ editor.fx.0.width=1294 editor.fx.0.x=-7 editor.fx.0.y=-7 height=686 -package.numDependencies=11 -package.numTargets=9 +package.numDependencies=17 +package.numTargets=11 project.charset=UTF-8 publish.hasSource=false publish.locked=true @@ -65,6 +83,20 @@ target1.type=ClassTarget target1.width=120 target1.x=0 target1.y=0 +target10.height=70 +target10.name=MyWorld +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 target2.height=70 target2.name=EndWorld target2.showInterface=false @@ -87,21 +119,21 @@ target4.width=120 target4.x=0 target4.y=0 target5.height=70 -target5.name=StartWorld +target5.name=Projectile2 target5.showInterface=false target5.type=ClassTarget target5.width=120 target5.x=0 target5.y=0 target6.height=70 -target6.name=Player2 +target6.name=StartWorld target6.showInterface=false target6.type=ClassTarget target6.width=120 target6.x=0 target6.y=0 target7.height=70 -target7.name=Player1 +target7.name=Player2 target7.showInterface=false target7.type=ClassTarget target7.width=120 @@ -115,7 +147,7 @@ target8.width=120 target8.x=0 target8.y=0 target9.height=70 -target9.name=MyWorld +target9.name=Player1 target9.showInterface=false target9.type=ClassTarget target9.width=120