From 700eef1064f7f9558483bbaa88565f272a3e4d7c Mon Sep 17 00:00:00 2001 From: Max Date: Wed, 16 Sep 2026 17:10:54 +0200 Subject: [PATCH] ALLES --- fighter/EndWorld.class | Bin 1204 -> 1341 bytes fighter/EndWorld.java | 9 +- fighter/Lebensanzeige.class | Bin 834 -> 849 bytes fighter/Lebensanzeige.ctxt | 4 +- fighter/Lebensanzeige.java | 8 +- fighter/MyWorld.class | Bin 2003 -> 3111 bytes fighter/MyWorld.ctxt | 4 +- fighter/MyWorld.java | 76 +++++++++-- fighter/StartWorld.class | Bin 2415 -> 953 bytes fighter/StartWorld.ctxt | 21 +-- fighter/StartWorld.java | 99 ++------------ fighter/player1.class | Bin 3973 -> 6390 bytes fighter/player1.ctxt | 12 +- fighter/player1.java | 252 ++++++++++++++++++++++++++-------- fighter/player2.class | Bin 3988 -> 6401 bytes fighter/player2.ctxt | 12 +- fighter/player2.java | 263 +++++++++++++++++++++++++++--------- fighter/project.greenfoot | 69 +++++++--- 18 files changed, 552 insertions(+), 277 deletions(-) diff --git a/fighter/EndWorld.class b/fighter/EndWorld.class index 0edc68812eb980fc8a72decb44f54708c0675128..6f2fd439ac8081b9bef383b300f8037f2128cc09 100644 GIT binary patch delta 539 zcmZ{gO-~b16o#MEsk9vj>kKLO18UVOZK>e*7ibZc3JNYXC<_;jjFl)eW+=FH>r$M= z#9!dTm5HGQqCdc`TmJ%o!FUF6>Ehn=zB%uG&b{|r>bq(F{Im4~xXHbBbElD@U&yut z*Y%$JerL4#Pfahk+HR7pU^iRK?t?Wqco_9YUVCkm40($K6vB1M&Y74DS`;}d^scy_ z$=0)%?Z9947KOpe{r|zos`E*X2@;r`pq${O#VLlugEBr;6;iXVxBA!*UM-qb7>>r( z1*1}(kK!X1qnrtSDTiO=bNPml?!0hIZen~T& zF>3K?p%~5@#qgt%e_B8|t3UFNI5DjgH9PjimiO^4Qgafv)DKT>kg5%Dkp{Ikza#JT zMOq$3dYjCGbEHddgMqKgh;dH$JUt)cnYRscoLAewhvxzp)#)HEaao58SE%n_Voo!n zy*{V3$?;G0Zc|z4QrqNo#5H!ghqOY0Bm+45?-AVEJGKwMx|#{63lXb zBbQ&z=JqxXjd(UivnEDT_#6_XnuRkJKovf-^zJAhn_@> z88eJC5nS1xr!sRxX}bHKC@6J!DR4Iy;CIDWDzixGpU}Jzql~!X1RYc}q`|v_USLm}Ze_ZN z9(p;^ThK?#e~KkF5^cuZ_#M^flt0k8eoONmt%WV2U`vHosG~$r=jxdX?)IPT-@QMW d6;}rb6j}^w3{)VD>KkTSnNgG}W|nzse*s|}JEs5u diff --git a/fighter/EndWorld.java b/fighter/EndWorld.java index d145619..c1a3ebb 100644 --- a/fighter/EndWorld.java +++ b/fighter/EndWorld.java @@ -18,13 +18,14 @@ public class EndWorld extends World // Create a new world with 600x400 cells with a cell size of 1x1 pixels. super(600, 400, 1); - showText("GAME OVER", 300, 60); - showText("the winner is " + pSieger, 300, 200); - showText("Drücke R für einen Neustart", 300, 220); + showText("GAME OVER", 300, 70); + showText("the winner is " + pSieger, 300, 220); + showText("Drücke R für einen Neustart", 300, 340); + setBackground(new GreenfootImage("GameOverSreen.png")); } public void act(){ if (Greenfoot.isKeyDown("r")){ - Greenfoot.setWorld(new StartWorld()); + Greenfoot.setWorld(new MenuWorld()); } } } diff --git a/fighter/Lebensanzeige.class b/fighter/Lebensanzeige.class index 7fb484441479fb17013d4449ebada289dec713d2..cca5362dea1206f214240a6dc49191849e248821 100644 GIT binary patch delta 337 zcmXX=Jxjw-6g@ZTOKB-asum(KNwu1f+IDhr69O)}x+`=Nw4;d7Ur?6}-TEK8WDs<4 zbn73Ip7;8A-23jwIrp4jZ{xN9{=a?z++e(Jhf+=CBUV{i<_`jIb~k;Rz6higv}X5@ zZ>F!lQc%HECu>&IXamwH4JHr6HgmZYz5vN0j=&)p# zdIbbXm^-_rJt4S2YKaRpi3GBAZ@I#t=r(J#iW>g43e@2{!Zd$<{@j@hly&DKCgs== uL*^3-MCfwbr(8;(TC_levm@hHX$dQ@s|>lZlo6G~HU3?Qc6CXpgV7da+)b_xL-u@r2DRD$sz2>AgvSBO6&%@r1c zmUjLjaW*-Yw>vv;=gsVI^c^*S{ysi|E6!KV*uv=YzHqi|*T%ESoe@3X%pc}YhRupE zyEa!e0=F|R*~_LS-IbI9{o*3%y$pm8bc2K;$2wbDCybDqlt{Z1J5`ylN-XGG(8Z6~ z+BB;X#+XSZTvDf|7iqfv_RcVC*Gn2%N$WQ65HHdW$>Q;K6E3g9h4iI3lmo=tk2F7F km!5d1XoIz 0){ setImage("green.png"); GreenfootImage image = getImage(); - image.scale((int)(200 * (pLeben/100)),40); + image.scale((int)(200 * (pLeben/pMaxLeben)),15); setImage(image); } } diff --git a/fighter/MyWorld.class b/fighter/MyWorld.class index 45b4f941673d3f250bdf0724a1f31261de2ff9b4..1e7ae6d3c1851372da1eec14b4b1472778bebd61 100644 GIT binary patch literal 3111 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 diff --git a/fighter/MyWorld.ctxt b/fighter/MyWorld.ctxt index 3aefa1c..1c0002c 100644 --- a/fighter/MyWorld.ctxt +++ b/fighter/MyWorld.ctxt @@ -13,4 +13,6 @@ comment4.params= comment4.target=void\ gameEnd() comment5.params= comment5.target=void\ lebensAnzeige() -numComments=6 +comment6.params= +comment6.target=void\ charakterP1() +numComments=7 diff --git a/fighter/MyWorld.java b/fighter/MyWorld.java index 5fe9cd8..8815627 100644 --- a/fighter/MyWorld.java +++ b/fighter/MyWorld.java @@ -14,6 +14,13 @@ public class MyWorld extends World int charakterP2; Lebensanzeige l1; Lebensanzeige l2; + Picture p1; + Picture p2; + int attack1Distance; + int attack2Distance; + int attack1Strength; + int attack2Strength; + int var; /** * Constructor for objects of class MyWorld. * @@ -39,36 +46,56 @@ public class MyWorld extends World player2 = new Player2(charakterP2); addObject(player2,429,152); l1 = new Lebensanzeige(); - addObject(l1,150,50); + addObject(l1,150,40); l2 = new Lebensanzeige(); - addObject(l2,450,50); + addObject(l2,450,40); + p1 = new Picture(1); + addObject(p1,150,50); + p2 = new Picture(2); + addObject(p2,450,50); + charakterP1(); } public void act(){ if(player1.attacke()){ - if(player1.getX() - player2.getX() < 50 && player1.getX() - player2.getX() > -50 && player1.getY() - player2.getY() < 30 && player1.getY() - player2.getY() > -30){ - player2.leben = player2.leben -10; + if(player1.getX() - player2.getX() < attack1Distance && player1.getX() - player2.getX() > -attack1Distance && player1.getY() - player2.getY() < 30 && player1.getY() - player2.getY() > -30){ + player2.leben = player2.leben -attack1Strength; + setPaintOrder(Player1.class,Player2.class); } } if(player2.attacke()){ - if(player1.getX() - player2.getX() < 50 && player1.getX() - player2.getX() > -50 && player1.getY() - player2.getY() < 30 && player1.getY() - player2.getY() > -30){ - player1.leben = player1.leben -10; + if(player1.getX() - player2.getX() < attack1Distance && player1.getX() - player2.getX() > -attack1Distance && player1.getY() - player2.getY() < 30 && player1.getY() - player2.getY() > -30){ + player1.leben = player1.leben -attack1Strength; + setPaintOrder(Player2.class,Player1.class); } } - showText(String.valueOf(player2.leben),450,50); - showText(String.valueOf(player1.leben),150,50); - l1.leben(player1.leben); - l2.leben(player2.leben); - l1.setLocation(150 - (100 - player1.leben), 50); - l2.setLocation(450 - (100 - player2.leben), 50); + if(player1.attacke2()){ + if(player1.getX() - player2.getX() < attack2Distance && player1.getX() - player2.getX() > -attack2Distance && player1.getY() - player2.getY() < 30 && player1.getY() - player2.getY() > -30){ + player2.leben = player2.leben -attack2Strength; + setPaintOrder(Player1.class,Player2.class); + } + } + if(player2.attacke2()){ + 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; + setPaintOrder(Player2.class,Player1.class); + } + } + showText(String.valueOf(player2.leben),450,40); + showText(String.valueOf(player1.leben),150,40); + l1.leben(player1.leben, player1.maxLeben); + 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); gameEnd(); + lebensAnzeige(); } public void gameEnd(){ - if(player1.leben == 0){ + if(player1.leben <= 0){ Greenfoot.setWorld(new EndWorld("Player Two")); } - if(player2.leben == 0){ + if(player2.leben <= 0){ Greenfoot.setWorld(new EndWorld("Player One")); } } @@ -76,4 +103,25 @@ public class MyWorld extends World public void lebensAnzeige(){ } + + public void charakterP1(){ + if(charakterP1 == 1){ + attack1Distance = 95; + attack2Distance = 120; + attack1Strength = 10; + attack2Strength = 20; + } + else if(charakterP1 == 2){ + attack1Distance = 95; + attack2Distance = 145; + attack1Strength = 15; + attack2Strength = 30; + } + else if(charakterP1 == 3){ + attack1Distance = 95; + attack2Distance = 110; + attack1Strength = 8; + attack2Strength = 15; + } + } } diff --git a/fighter/StartWorld.class b/fighter/StartWorld.class index f0ba91cb0305b13bb94003033180a058a1a9c83f..0d0cffff534e5ce79c2fbe328dfa4861e1dba5b6 100644 GIT binary patch literal 953 zcmZWn(Nfb;5IwhPNgGm2N?R0AQAFE_6s?LHL=nUR13Cj!#RtcbUNP7vOq!zng%7?s zeuXmv9hmV0{1QLFXUDxEo#L38-0a<)-93ADfBrfA0bmx76~rLPh^t7That1+bMC(N zyrBHT^XoN+o@vK*f*CT3i;Ih;Y6?lDWGE_np)x3|f#nAgmVIPkO9F99MMnHi1Wtqd z3N&P8^sC4r&(ODJ?O5fy`w@nXbfSjAbKV~A~67*b{gH54K-qT&KBlGm!$o^5P#J76dj&2EdccHsGj z=qf>K(8GR5hV)A$D5@wyXHb3K@OF47NACX|rD_u6)GoCk+MPgI#-xhtxWUlhE%>CP zE|GGYPx5_Oo*0f07=>~K%$oxMu;pnBmC0b=o1HBM z7EsW&*h`IliXVXKsXfTzNPi3Q_vy?M4#-o^Ui4AEJO(gB9`!gH5Acv~j8?pp`H-rJ z%vKwH`gf#1e?>(i0tMCH&NBQt#*DpP202;aw* z?A11|eL?yNmGuMMYU7R|DM66bq0l)<6o-i3Fve(AC#h)zBUm75RxpYxF5wL>pCE5V T_VwnF6g%7%p literal 2415 zcmaJ?-BS}+96c8TS;A712q+(FEZT+?!32vRSQSt-HGm58Wved90)dc?n?2tLrP|L?{Ck&_ndpr?{{zh{P)-201V^H z0BTU{hfhZx>IIsYZPUyzS(ej3YuUMsK>ej`KI>d&5KShNJu@0KfxuKDYvv*o#=03m z0F8d=I-2l?>~Rd+ap!8q6>D?aeCh}sj;2?di=IP zZM0{mfv)xFh~XUpe|p0%T6UaKN(~;;aGF~x!F`4NvYg$o;|w@PE1FJn-B>mSTB~^4 zGb0l+pyMpw6=*OrnaRafdMnTtO?k;3PCJ&Z5+GM{PRIGOm2f{71%wg6CA{ayWgS;= zRp5{}{l=>*p+vTL%iOwVZRY=HK?_o0M8_zuNlVw94KtTBZB;?0+_gx`{f+6kftv!2 z++WH{8&1|DV;zf5*4+CXwx}V+CaqzDOX?)E*B4|$ zh9$J18*gku;~W zd2?c8ebKb1jl~?1u(UTfW7t{w?SejMC0pcDQ{MR<5@_OAdTrb&xT9)$Hsu+&Hte)H zmX&PH-h@7R!f}FT)bMigLCBml5;94uWxcDG)y6i!9-aukpK{QUngRR~3)Rep#MizZ zh*;Pk61~BeZ8XHf%`zNQVTfT!Osn`%FcZwEs5K=1cEiIAL-ut{ewgY_xcAz;&(ORCvLF@ zTYOL85Z_18h<3E0gBEq-G`esOM=^rq?2ll9=n~JtW1Pe%IEAlh%r}VQd-UK(+VwMf zvCCO6(T|VFrqec>g^xK}TFlxm8Hst+s=ki!g%=q54lOa?a}1YO9>NdXxGq;#t5z1K z=|BP+26%s;<@yH8*gIVIPt|zQPFkLqeKJW`rmjrpuPQRTmleKNOP znR-t~_^QZUrpy(}T&2v&!7@D8uFQgKT4#7%$+Sw-CS_uo&g!mRr_LC4ZZML2=IKHBNeAk=#SDo| eiY_6@tNs{P_=mh!CLVu1?`OE7&pE9IU;GDaHn@ra diff --git a/fighter/StartWorld.ctxt b/fighter/StartWorld.ctxt index d86e5d4..27d4563 100644 --- a/fighter/StartWorld.ctxt +++ b/fighter/StartWorld.ctxt @@ -3,22 +3,7 @@ comment0.target=StartWorld comment0.text=\r\n\ Write\ a\ description\ of\ class\ StartWorld\ here.\r\n\ \r\n\ @author\ (your\ name)\ \r\n\ @version\ (a\ version\ number\ or\ a\ date)\r\n comment1.params= comment1.target=StartWorld() -comment10.params= -comment10.target=void\ act() +comment1.text=\r\n\ Constructor\ for\ objects\ of\ class\ StartWorld.\r\n\ \r\n comment2.params= -comment2.target=void\ pfeilA() -comment3.params= -comment3.target=void\ pfeilB() -comment4.params= -comment4.target=void\ pfeilC() -comment5.params= -comment5.target=void\ pfeil1() -comment6.params= -comment6.target=void\ pfeil2() -comment7.params= -comment7.target=void\ pfeil3() -comment8.params= -comment8.target=void\ SpielerWahl1() -comment9.params= -comment9.target=void\ SpielerWahl2() -numComments=11 +comment2.target=void\ act() +numComments=3 diff --git a/fighter/StartWorld.java b/fighter/StartWorld.java index 2242f38..8938cf1 100644 --- a/fighter/StartWorld.java +++ b/fighter/StartWorld.java @@ -8,101 +8,32 @@ import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) */ public class StartWorld extends World { - + long x= 0; + long timer = 0; + Picture p3; /** * Constructor for objects of class StartWorld. * */ - public int aktuellerSpieler1; - public int aktuellerSpieler2; - public Pfeil cursor1; - public Pfeil cursor2; - public StartWorld() { // Create a new world with 600x400 cells with a cell size of 1x1 pixels. - super(600, 400, 1); - showText("Spiel Name" , 300, 20); - showText("select a character", 300, 70); - showText("press enter to start", 300, 340); - showText("player 1 :", 100,100); - showText("player 2 :", 500,100); - - showText("1 character 1", 500,150); - showText("2 character 2", 500,200); - showText("3 character 3", 500,250); - - showText("a character 1", 100,150); - showText("b character 2", 100,200); - showText("c character 3", 100,250); - - cursor1 = new Pfeil(); - cursor1.setImage("cursor.png"); - addObject(cursor1, 50, 100); - - cursor2 = new Pfeil(); - cursor2.setImage("cursor.png"); - addObject(cursor2 , 450, 100); - - } - - public void pfeilA(){ - if(Greenfoot.isKeyDown("a")){ - aktuellerSpieler1 = 1; - cursor1.setLocation(50,160); - } - } - public void pfeilB(){ - if(Greenfoot.isKeyDown("b")){ - aktuellerSpieler1 = 2; - cursor1.setLocation(50,210); - } - } - public void pfeilC(){ - if(Greenfoot.isKeyDown("c")){ - aktuellerSpieler1 = 3; - cursor1.setLocation(50,260); - } - } - - public void pfeil1(){ - if(Greenfoot.isKeyDown("1")){ - aktuellerSpieler2 = 1; - cursor2.setLocation(450,160); - } - } - public void pfeil2(){ - if(Greenfoot.isKeyDown("2")){ - aktuellerSpieler2 = 2; - cursor2.setLocation(450,210); - } - } - public void pfeil3(){ - if(Greenfoot.isKeyDown("3")){ - aktuellerSpieler2 = 3; - cursor2.setLocation(450,260); - } - } - - public void SpielerWahl1(){ - pfeilA(); - pfeilB(); - pfeilC(); - } - - public void SpielerWahl2(){ - pfeil1(); - pfeil2(); - pfeil3(); + super(600, 400, 1); + } public void act(){ - SpielerWahl1(); - SpielerWahl2(); - if (Greenfoot.isKeyDown("enter")){ - if(aktuellerSpieler1 > 0 && aktuellerSpieler2 > 0){ - Greenfoot.setWorld(new MyWorld(aktuellerSpieler1, aktuellerSpieler2)); + if(System.currentTimeMillis() >= timer){ + p3 = new Picture(3); + addObject(p3,300,350); + x = System.currentTimeMillis() + 500; + timer = System.currentTimeMillis() + 1000; } + if(System.currentTimeMillis() >= x){ + removeObject(p3); + } + if (Greenfoot.isKeyDown("enter")){ + Greenfoot.setWorld(new MenuWorld()); } } } diff --git a/fighter/player1.class b/fighter/player1.class index 4495a0bcbc344d3d8e46166e15be406763d7a300..316dfdf3d8df4ced65a42df6e5b394250079bb66 100644 GIT binary patch literal 6390 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 D2?b2v diff --git a/fighter/player1.ctxt b/fighter/player1.ctxt index b50411e..6abc36b 100644 --- a/fighter/player1.ctxt +++ b/fighter/player1.ctxt @@ -3,6 +3,8 @@ comment0.target=Player1 comment0.text=\r\n\ Write\ a\ description\ of\ class\ player\ here.\r\n\ \r\n\ @author\ (your\ name)\ \r\n\ @version\ (a\ version\ number\ or\ a\ date)\r\n comment1.params=pCharakter comment1.target=Player1(int) +comment10.params= +comment10.target=void\ charakter() comment2.params= comment2.target=void\ act() comment3.params= @@ -12,11 +14,11 @@ comment4.target=void\ springen() comment5.params= comment5.target=boolean\ attacke() comment6.params= -comment6.target=void\ animation1() +comment6.target=boolean\ attacke2() comment7.params= -comment7.target=void\ anitmationLaufen() +comment7.target=void\ animation1() comment8.params= -comment8.target=void\ gravitation() +comment8.target=void\ animationLaufen() comment9.params= -comment9.target=void\ charakter() -numComments=10 +comment9.target=void\ gravitation() +numComments=11 diff --git a/fighter/player1.java b/fighter/player1.java index 85286b6..05d7bf9 100644 --- a/fighter/player1.java +++ b/fighter/player1.java @@ -14,7 +14,10 @@ public class Player1 extends Actor */ public int leben; + int maxLeben; long c; + long d = 0; + long e = 0; boolean schautNachRechts; long attackTimer = 0; int attackPhase = 0; @@ -23,10 +26,22 @@ public class Player1 extends Actor long laufTimer = 0; boolean laeuft = false; int charakter; + boolean attacking2 = false; + String attacke1Animation; + String attacke2Animation1; + String attacke2Animation2; + String defaultAnimation; + String walk1; + String walk2; + String walk3; + String walk4; + int attack2Duration; + int speed; + double speedFaktor; + double speedFaktor2; Player1(int pCharakter){ charakter = pCharakter; - leben = 100; schautNachRechts = true; charakter(); } @@ -36,27 +51,31 @@ public class Player1 extends Actor gravitation(); springen(); animation1(); - anitmationLaufen(); + animationLaufen(); } public void bewegung(){ if(Greenfoot.isKeyDown("d")){ setRotation(0); - move(5); + move(speed); if(!schautNachRechts && attackPhase == 0){ getImage().mirrorHorizontally(); schautNachRechts = true; } laeuft = true; + attacke(); + attacke2(); } if(Greenfoot.isKeyDown("a")){ setRotation(0); - move(-5); + move(-speed); if(schautNachRechts && attackPhase == 0){ getImage().mirrorHorizontally(); schautNachRechts = false; } laeuft = true; + attacke(); + attacke2(); } } @@ -68,29 +87,30 @@ public class Player1 extends Actor setRotation(0); Greenfoot.delay(1); bewegung(); + attacke(); + attacke2(); } } } public boolean attacke(){ - if(Greenfoot.isKeyDown("e")){ - if(System.currentTimeMillis() >= c){ - - if (!attacking) { + if(System.currentTimeMillis() >= c){ + if(Greenfoot.isKeyDown("e")){ + if (!attacking && !attacking2) { attacking = true; attackPhase = 1; attackTimer = System.currentTimeMillis(); if(schautNachRechts){ - setImage("1Combo2.png"); + setImage(attacke1Animation); GreenfootImage image = getImage(); - image.scale(160, 160); + image.scale(250, 250); setImage(image); } else{ - setImage("1Combo2.png"); + setImage(attacke1Animation); GreenfootImage image = getImage(); - image.scale(160, 160); + image.scale(250, 250); setImage(image); getImage().mirrorHorizontally(); } @@ -98,81 +118,154 @@ public class Player1 extends Actor } - c = System.currentTimeMillis() + 500; - return true; + c = System.currentTimeMillis() + (int)(500/speedFaktor); } - else{ - return false; + } + if(attacking && attackPhase == 1 && System.currentTimeMillis() >= d){ + d = System.currentTimeMillis() + (int)(300/speedFaktor); + return true; + } + else{ + return false; + } + } + + public boolean attacke2(){ + if(System.currentTimeMillis() >= c){ + if(Greenfoot.isKeyDown("q")){ + if (!attacking2 && !attacking) { + attacking2 = true; + attackPhase = 1; + attackTimer = System.currentTimeMillis(); + + if(schautNachRechts){ + setImage(attacke2Animation1); + GreenfootImage image = getImage(); + image.scale(250, 250); + setImage(image); + } + else{ + setImage(attacke2Animation1); + GreenfootImage image = getImage(); + image.scale(250, 250); + setImage(image); + getImage().mirrorHorizontally(); + } + + } + + + c = System.currentTimeMillis() + (int)(800/speedFaktor); } } + if(attacking2 && attackPhase == attack2Duration && System.currentTimeMillis() >= System.currentTimeMillis()+e){ + e = (int)(1000/speedFaktor2); + return true; + } else{ return false; } } public void animation1(){ - if (attacking && attackPhase == 1 && System.currentTimeMillis() - attackTimer >= 200) { + if (attacking && attackPhase == 1 && System.currentTimeMillis() - attackTimer >= (int)(200/speedFaktor)) { if(schautNachRechts){ attackPhase = 2; - setImage("2Combo1.png"); + setImage(defaultAnimation); GreenfootImage image = getImage(); - image.scale(160, 160); + image.scale(250, 250); setImage(image); } else{ attackPhase = 2; - setImage("2Combo1.png"); + setImage(defaultAnimation); GreenfootImage image = getImage(); - image.scale(160, 160); + image.scale(250, 250); setImage(image); getImage().mirrorHorizontally(); } } - if (attacking && attackPhase == 2 && System.currentTimeMillis() - attackTimer >= 300) { + if (attacking && attackPhase == 2 && System.currentTimeMillis() - attackTimer >= (int)(500/speedFaktor)) { attacking = false; attackPhase = 0; + d = 0; + } + if (attacking2 && attackPhase == 1 && System.currentTimeMillis() - attackTimer >= (int)(550/speedFaktor2)) { + if(schautNachRechts){ + attackPhase = 2; + setImage(attacke2Animation2); + GreenfootImage image = getImage(); + image.scale(250, 250); + setImage(image); + } + else{ + attackPhase = 2; + setImage(attacke2Animation2); + GreenfootImage image = getImage(); + image.scale(250, 250); + setImage(image); + getImage().mirrorHorizontally(); + } + } + if (attacking2 && attackPhase == 2 && System.currentTimeMillis() - attackTimer >= (int)(800/speedFaktor2)) { + attacking2 = false; + attackPhase = 0; + e = 0; + if(schautNachRechts){ + setImage(defaultAnimation); + GreenfootImage image = getImage(); + image.scale(250, 250); + setImage(image); + } + else{ + setImage(defaultAnimation); + GreenfootImage image = getImage(); + image.scale(250, 250); + setImage(image); + getImage().mirrorHorizontally(); + } } } - public void anitmationLaufen(){ - if(laeuft){ + public void animationLaufen(){ + if(laeuft &! attacking &! attacking2){ if(schautNachRechts){ if(laufPhase == 0){ - setImage("RenRun1.png"); + setImage(walk1); GreenfootImage image = getImage(); - image.scale(160, 160); + image.scale(250, 250); setImage(image); laufPhase = 1; laufTimer = System.currentTimeMillis(); } - if(laufPhase == 1 && System.currentTimeMillis() - laufTimer >= 100){ - setImage("RenRun2.png"); + if(laufPhase == 1 && System.currentTimeMillis() - laufTimer >= 200){ + setImage(walk2); GreenfootImage image = getImage(); - image.scale(160, 160); + image.scale(250, 250); setImage(image); laufPhase = 2; laufTimer = System.currentTimeMillis(); } - if(laufPhase == 2 && System.currentTimeMillis() - laufTimer >= 100){ - setImage("RenRun3.png"); + if(laufPhase == 2 && System.currentTimeMillis() - laufTimer >= 200){ + setImage(walk3); GreenfootImage image = getImage(); - image.scale(160, 160); + image.scale(250, 250); setImage(image); laufPhase = 3; laufTimer = System.currentTimeMillis(); } - if(laufPhase == 3 && System.currentTimeMillis() - laufTimer >= 100){ - setImage("RenRun4.png"); + if(laufPhase == 3 && System.currentTimeMillis() - laufTimer >= 200){ + setImage(walk4); GreenfootImage image = getImage(); - image.scale(160, 160); + image.scale(250, 250); setImage(image); laufPhase = 4; laufTimer = System.currentTimeMillis(); } - if(laufPhase == 4 && System.currentTimeMillis() - laufTimer >= 100){ - setImage("2Combo1.png"); + if(laufPhase == 4 && System.currentTimeMillis() - laufTimer >= 200){ + setImage(defaultAnimation); GreenfootImage image = getImage(); - image.scale(160, 160); + image.scale(250, 250); setImage(image); laufPhase = 0; laufTimer = System.currentTimeMillis(); @@ -181,45 +274,45 @@ public class Player1 extends Actor } else{ if(laufPhase == 0){ - setImage("RenRun1.png"); + setImage(walk1); GreenfootImage image = getImage(); - image.scale(160, 160); + image.scale(250, 250); setImage(image); getImage().mirrorHorizontally(); laufPhase = 1; laufTimer = System.currentTimeMillis(); } - if(laufPhase == 1 && System.currentTimeMillis() - laufTimer >= 100){ - setImage("RenRun2.png"); + if(laufPhase == 1 && System.currentTimeMillis() - laufTimer >= 200){ + setImage(walk2); GreenfootImage image = getImage(); - image.scale(160, 160); + image.scale(250, 250); setImage(image); getImage().mirrorHorizontally(); laufPhase = 2; laufTimer = System.currentTimeMillis(); } - if(laufPhase == 2 && System.currentTimeMillis() - laufTimer >= 100){ - setImage("RenRun3.png"); + if(laufPhase == 2 && System.currentTimeMillis() - laufTimer >= 200){ + setImage(walk3); GreenfootImage image = getImage(); - image.scale(160, 160); + image.scale(250, 250); setImage(image); getImage().mirrorHorizontally(); laufPhase = 3; laufTimer = System.currentTimeMillis(); } - if(laufPhase == 3 && System.currentTimeMillis() - laufTimer >= 100){ - setImage("RenRun4.png"); + if(laufPhase == 3 && System.currentTimeMillis() - laufTimer >= 200){ + setImage(walk4); GreenfootImage image = getImage(); - image.scale(160, 160); + image.scale(250, 250); setImage(image); getImage().mirrorHorizontally(); laufPhase = 4; laufTimer = System.currentTimeMillis(); } - if(laufPhase == 4 && System.currentTimeMillis() - laufTimer >= 100){ - setImage("2Combo1.png"); + if(laufPhase == 4 && System.currentTimeMillis() - laufTimer >= 200){ + setImage(defaultAnimation); GreenfootImage image = getImage(); - image.scale(160, 160); + image.scale(250, 250); setImage(image); getImage().mirrorHorizontally(); laufPhase = 0; @@ -241,11 +334,56 @@ public class Player1 extends Actor public void charakter(){ if(charakter == 1){ - setImage("2Combo1.png"); - GreenfootImage image = getImage(); - image.scale(160,160); - setImage(image); + defaultAnimation = "2Combo1.png"; + attacke1Animation = "1Combo2.png"; + attacke2Animation1 = "3Combo2.png"; + attacke2Animation2 = defaultAnimation; + walk1 = "RenRun1.png"; + walk2 = "RenRun2.png"; + walk3 = "RenRun3.png"; + walk4 = "RenRun4.png"; + attack2Duration = 1; + speed = 6; + maxLeben = 100; + leben = maxLeben; + speedFaktor = 1; + speedFaktor2 = speedFaktor; } - + if(charakter == 2){ + defaultAnimation = "Tetsu1Combo1.png"; + attacke1Animation = "Tetsu1Combo2.png"; + attacke2Animation1 = "Tetsu3Combo1.png"; + attacke2Animation2 = "Tetsu3Combo2.png"; + walk1 = "TetsuRun1.png"; + walk2 = "TetsuRun2.png"; + walk3 = "TetsuRun3.png"; + walk4 = "TetsuRun4.png"; + attack2Duration = 2; + speed = 4; + maxLeben = 130; + leben = maxLeben; + speedFaktor = 0.5; + speedFaktor2 = 0.75; + } + if(charakter == 3){ + defaultAnimation = "HinataShoot1.png"; + attacke1Animation = "Hinata2Combo1.png"; + attacke2Animation1 = "Hinata3Combo1.png"; + attacke2Animation2 = defaultAnimation; + walk1 = "HinataRun1.png"; + walk2 = "HinataRun2.png"; + walk3 = "HinataRun3.png"; + walk4 = "HinataRun4.png"; + attack2Duration = 1; + speed = 8; + maxLeben = 80; + leben = maxLeben; + speedFaktor = 2; + speedFaktor2 = 8; + } + setImage(defaultAnimation); + GreenfootImage image = getImage(); + image.scale(250,250); + setImage(image); } } diff --git a/fighter/player2.class b/fighter/player2.class index e9a6cf00102f6c40502f96c1225f7ed1725c44bf..ad12fb334323b453a6a71ce497225aedfb70aa95 100644 GIT binary patch literal 6401 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 literal 3988 zcmai1dr(x@8ULNj!Y+6bSjAfLfkXsW6h+Y_poT(J3_bz`g~Zs)a)Ax|AiH-pzG^hK zP1=}8V@x4wN*i0#X__=`AvS%#GHGht(LU@nZJP9tcG_g7GmUL$VyEfvyZ0_EgPQ<* z&)M&s@AW(1`F)pH{`cZ{0W{)N9yDZm;n9(e9EF1ZxM@cFVlk_xF=)l&3ONm-Xvo^2 zkX2dLnF}9sy~xus1G<8DXV^Gk#%mR37?x!O2RlL$lR9dvY@Dg10EH84I|qz}$+Z?) z^Xr&}*$TOiUMSknm2O#?qvHdjl^ZsaeYTEBKd57#c(kRq7m?1_u|TZkgbg#R2b@LW(U%-pYi{s1MgM&UmPQz{*2C8oXGqV*@rS%$hu#&8br&BB8`h=7Hwe z{-{E6W$PWrKBFdVMEh&nEeWE&s$1MO>i7_v7;?h2+G0+~3ZBZAs!mzHQO71(_C#X) zOc89+(SohayWg~0B1S(CZhmD|>s2DKSL^f8ifvwO*Reygnwx2(f|89a3N(>yMMOswF@~228eyWAUD@Jde5aV<D=4Hl(w%cRLc+lJwl7MvA=L$JzEM~E2#4Ha= zZn=#g&(j`x$L*1HWsf8zdnEbTBdNw7NiOzCI>TG4rij6 zvpJYc=3BsL8Rnycv*lRGy^FAxZ1i#J&2il0UfjoTAc1^>VX|)VN#wXew%gyqV8&6! zPc=U^{M7POHyOe_Du8Htu!QK9GoYn3Rl#5?ZC5(Y(1`0w2?@FmE;0yN>-ArI4%ZLU zLDo2K2>8a)9QX#7j9?Cj{1Ft;;pTDN6!1v?e3bZi+6v1Zg~BVY#_%)^8!^$4c(ZKC zHn5d|QTR}ed;;Sq1DB$P5wE1Amb|+L*P)I?xfaa?rVZDki;~;P7(uL0%c3-VF zfv1|k%!j<~=JzD?lWMB>x7p#=F^`TSwfGE{73vKog_qBuEKsCoO422gf~4;`huz#) zbwa&+_TASe!(M8a&1FXi4415!VZp8Iu+SKV5^C(W*XUYK50?mc? zUlgl%cv=b%;6W!=wSd(ru^#i^YR7u;9QF|X;Hk$E;aD_+Eu z_l;vf&Zu=+5k~npj&NYvIEK#hxH2xL4wbfMBVmjo=y@iKzYM}Ts7@9Q$b&v?V@>a1 z*WSqrzL|ly@%TD;RJZVGI(a0!uo=6#vx~cKrSvxP`X2Q1$U@kQA0&WB4V*+F=_TRn4JzgxumklmQ*7wqmE+=E`QmOsbH= zoJ*LGFmoy&&7@4^)0GL^bme22lyjyk=Uh$so=nQ#smk6_b>Eb*)xpda;qX7Vr#iq{ z)#?DX@;!i>WXSZCiPy#{jzJq4@p5fUhi$rzjIg;jrlU9AMn?2p8`D5U^VD4G-UCF} zhTTiku$;IZY7?0R?0#N$zL~7`V%$$&J;^G6fH&nqHiU! z@nw~ZXH)^cqGsb+wGhv#Yw%T7iRV=fzNXgT>uMdw)dswvnsH9G;G3!)FRI=6mfDMN zt6qFZ4dQ$1IKHp$#Shd;{7^lHAE_tsWAzk%qMpV}>N&iuUcyh+dAy=7;AiSpoL8^o z=jyNcg?bCWRBz*gmWPX4A%3M5iP?qJ zj4`>Z^j_gwhL+CGbC6fx(9m!N&8x4VDfPF7l*50i9O7XIa9%M=$f9h$WuM2aKw-Bu zTyLu3PLu=*P2Pw9#<#z}vvI!3l6Z?v=O1>8&Ra}L8qsAz&7&9ocjx*#N`92S5a4ZH z=oyvXmx=XVPM>tWkaY;wg%5AD8ZWco{flpH|0V|iK^5MyLy&hidACb-s=(A>su;$n JXhg#!{|9rFQIr4x diff --git a/fighter/player2.ctxt b/fighter/player2.ctxt index e7a2a7f..7c3c266 100644 --- a/fighter/player2.ctxt +++ b/fighter/player2.ctxt @@ -3,6 +3,8 @@ comment0.target=Player2 comment0.text=\r\n\ Write\ a\ description\ of\ class\ player\ here.\r\n\ \r\n\ @author\ (your\ name)\ \r\n\ @version\ (a\ version\ number\ or\ a\ date)\r\n comment1.params=pCharakter comment1.target=Player2(int) +comment10.params= +comment10.target=void\ charakter() comment2.params= comment2.target=void\ act() comment3.params= @@ -12,11 +14,11 @@ comment4.target=void\ springen() comment5.params= comment5.target=boolean\ attacke() comment6.params= -comment6.target=void\ animation1() +comment6.target=boolean\ attacke2() comment7.params= -comment7.target=void\ anitmationLaufen() +comment7.target=void\ animation1() comment8.params= -comment8.target=void\ gravitation() +comment8.target=void\ animationLaufen() comment9.params= -comment9.target=void\ charakter() -numComments=10 +comment9.target=void\ gravitation() +numComments=11 diff --git a/fighter/player2.java b/fighter/player2.java index 31dfdc9..1dd0ab8 100644 --- a/fighter/player2.java +++ b/fighter/player2.java @@ -14,7 +14,10 @@ public class Player2 extends Actor */ public int leben; + int maxLeben; long c; + long d = 0; + long e = 0; boolean schautNachRechts; long attackTimer = 0; int attackPhase = 0; @@ -23,10 +26,22 @@ public class Player2 extends Actor long laufTimer = 0; boolean laeuft = false; int charakter; + boolean attacking2 = false; + String attacke1Animation; + String attacke2Animation1; + String attacke2Animation2; + String defaultAnimation; + String walk1; + String walk2; + String walk3; + String walk4; + int attack2Duration; + int speed; + double speedFaktor; + double speedFaktor2; Player2(int pCharakter){ charakter = pCharakter; - leben = 100; schautNachRechts = false; charakter(); } @@ -36,142 +51,221 @@ public class Player2 extends Actor gravitation(); springen(); animation1(); - anitmationLaufen(); + animationLaufen(); } public void bewegung(){ - if(Greenfoot.isKeyDown("right")){ + if(Greenfoot.isKeyDown("l")){ setRotation(0); - move(5); + move(speed); if(!schautNachRechts && attackPhase == 0){ getImage().mirrorHorizontally(); schautNachRechts = true; } laeuft = true; + attacke(); + attacke2(); } - if(Greenfoot.isKeyDown("left")){ + if(Greenfoot.isKeyDown("j")){ setRotation(0); - move(-5); + move(-speed); if(schautNachRechts && attackPhase == 0){ getImage().mirrorHorizontally(); schautNachRechts = false; } laeuft = true; + attacke(); + attacke2(); } } public void springen(){ - if(Greenfoot.isKeyDown("up") && this.getY() > 289 ){ + if(Greenfoot.isKeyDown("i") && this.getY() > 289 ){ for(int i = 12; i > -12; i--){ setRotation(270); move(i); setRotation(0); Greenfoot.delay(1); bewegung(); + attacke(); + attacke2(); } } } public boolean attacke(){ - if(Greenfoot.isKeyDown(".")){ - if(System.currentTimeMillis() >= c){ - - if (!attacking) { + if(System.currentTimeMillis() >= c){ + if(Greenfoot.isKeyDown("o")){ + if (!attacking && !attacking2) { attacking = true; attackPhase = 1; attackTimer = System.currentTimeMillis(); - + if(schautNachRechts){ - setImage("1Combo2.png"); + setImage(attacke1Animation); GreenfootImage image = getImage(); - image.scale(160, 160); + image.scale(250, 250); setImage(image); } else{ - setImage("1Combo2.png"); + setImage(attacke1Animation); GreenfootImage image = getImage(); - image.scale(160, 160); + image.scale(250, 250); setImage(image); getImage().mirrorHorizontally(); } + } - c = System.currentTimeMillis() + 500; - return true; + c = System.currentTimeMillis() + (int)(500/speedFaktor); } - else{ - return false; + } + if(attacking && attackPhase == 1 && System.currentTimeMillis() >= d){ + d = System.currentTimeMillis() + (int)(300/speedFaktor); + return true; + } + else{ + return false; + } + } + + public boolean attacke2(){ + if(System.currentTimeMillis() >= c){ + if(Greenfoot.isKeyDown("u")){ + if (!attacking2 && !attacking) { + attacking2 = true; + attackPhase = 1; + attackTimer = System.currentTimeMillis(); + + if(schautNachRechts){ + setImage(attacke2Animation1); + GreenfootImage image = getImage(); + image.scale(250, 250); + setImage(image); + } + else{ + setImage(attacke2Animation1); + GreenfootImage image = getImage(); + image.scale(250, 250); + setImage(image); + getImage().mirrorHorizontally(); + } + + } + + + c = System.currentTimeMillis() + (int)(800/speedFaktor); } } + if(attacking2 && attackPhase == attack2Duration && System.currentTimeMillis() >= System.currentTimeMillis()+e){ + e = (int)(1000/speedFaktor2); + return true; + } else{ return false; } } public void animation1(){ - if (attacking && attackPhase == 1 && System.currentTimeMillis() - attackTimer >= 200) { + if (attacking && attackPhase == 1 && System.currentTimeMillis() - attackTimer >= (int)(200/speedFaktor)) { if(schautNachRechts){ attackPhase = 2; - setImage("2Combo1.png"); + setImage(defaultAnimation); GreenfootImage image = getImage(); - image.scale(160, 160); + image.scale(250, 250); setImage(image); } else{ attackPhase = 2; - setImage("2Combo1.png"); + setImage(defaultAnimation); GreenfootImage image = getImage(); - image.scale(160, 160); + image.scale(250, 250); setImage(image); getImage().mirrorHorizontally(); } } - if (attacking && attackPhase == 2 && System.currentTimeMillis() - attackTimer >= 300) { + if (attacking && attackPhase == 2 && System.currentTimeMillis() - attackTimer >= (int)(500/speedFaktor)) { attacking = false; attackPhase = 0; + d = 0; + } + if (attacking2 && attackPhase == 1 && System.currentTimeMillis() - attackTimer >= (int)(550/speedFaktor2)) { + if(schautNachRechts){ + attackPhase = 2; + setImage(attacke2Animation2); + GreenfootImage image = getImage(); + image.scale(250, 250); + setImage(image); + } + else{ + attackPhase = 2; + setImage(attacke2Animation2); + GreenfootImage image = getImage(); + image.scale(250, 250); + setImage(image); + getImage().mirrorHorizontally(); + } + } + if (attacking2 && attackPhase == 2 && System.currentTimeMillis() - attackTimer >= (int)(800/speedFaktor2)) { + attacking2 = false; + attackPhase = 0; + e = 0; + if(schautNachRechts){ + setImage(defaultAnimation); + GreenfootImage image = getImage(); + image.scale(250, 250); + setImage(image); + } + else{ + setImage(defaultAnimation); + GreenfootImage image = getImage(); + image.scale(250, 250); + setImage(image); + getImage().mirrorHorizontally(); + } } } - public void anitmationLaufen(){ - if(laeuft){ + public void animationLaufen(){ + if(laeuft &! attacking &! attacking2){ if(schautNachRechts){ if(laufPhase == 0){ - setImage("RenRun1.png"); + setImage(walk1); GreenfootImage image = getImage(); - image.scale(160, 160); + image.scale(250, 250); setImage(image); laufPhase = 1; laufTimer = System.currentTimeMillis(); } - if(laufPhase == 1 && System.currentTimeMillis() - laufTimer >= 100){ - setImage("RenRun2.png"); + if(laufPhase == 1 && System.currentTimeMillis() - laufTimer >= 200){ + setImage(walk2); GreenfootImage image = getImage(); - image.scale(160, 160); + image.scale(250, 250); setImage(image); laufPhase = 2; laufTimer = System.currentTimeMillis(); } - if(laufPhase == 2 && System.currentTimeMillis() - laufTimer >= 100){ - setImage("RenRun3.png"); + if(laufPhase == 2 && System.currentTimeMillis() - laufTimer >= 200){ + setImage(walk3); GreenfootImage image = getImage(); - image.scale(160, 160); + image.scale(250, 250); setImage(image); laufPhase = 3; laufTimer = System.currentTimeMillis(); } - if(laufPhase == 3 && System.currentTimeMillis() - laufTimer >= 100){ - setImage("RenRun4.png"); + if(laufPhase == 3 && System.currentTimeMillis() - laufTimer >= 200){ + setImage(walk4); GreenfootImage image = getImage(); - image.scale(160, 160); + image.scale(250, 250); setImage(image); laufPhase = 4; laufTimer = System.currentTimeMillis(); } - if(laufPhase == 4 && System.currentTimeMillis() - laufTimer >= 100){ - setImage("2Combo1.png"); + if(laufPhase == 4 && System.currentTimeMillis() - laufTimer >= 200){ + setImage(defaultAnimation); GreenfootImage image = getImage(); - image.scale(160, 160); + image.scale(250, 250); setImage(image); laufPhase = 0; laufTimer = System.currentTimeMillis(); @@ -180,45 +274,45 @@ public class Player2 extends Actor } else{ if(laufPhase == 0){ - setImage("RenRun1.png"); + setImage(walk1); GreenfootImage image = getImage(); - image.scale(160, 160); + image.scale(250, 250); setImage(image); getImage().mirrorHorizontally(); laufPhase = 1; laufTimer = System.currentTimeMillis(); } - if(laufPhase == 1 && System.currentTimeMillis() - laufTimer >= 100){ - setImage("RenRun2.png"); + if(laufPhase == 1 && System.currentTimeMillis() - laufTimer >= 200){ + setImage(walk2); GreenfootImage image = getImage(); - image.scale(160, 160); + image.scale(250, 250); setImage(image); getImage().mirrorHorizontally(); laufPhase = 2; laufTimer = System.currentTimeMillis(); } - if(laufPhase == 2 && System.currentTimeMillis() - laufTimer >= 100){ - setImage("RenRun3.png"); + if(laufPhase == 2 && System.currentTimeMillis() - laufTimer >= 200){ + setImage(walk3); GreenfootImage image = getImage(); - image.scale(160, 160); + image.scale(250, 250); setImage(image); getImage().mirrorHorizontally(); laufPhase = 3; laufTimer = System.currentTimeMillis(); } - if(laufPhase == 3 && System.currentTimeMillis() - laufTimer >= 100){ - setImage("RenRun4.png"); + if(laufPhase == 3 && System.currentTimeMillis() - laufTimer >= 200){ + setImage(walk4); GreenfootImage image = getImage(); - image.scale(160, 160); + image.scale(250, 250); setImage(image); getImage().mirrorHorizontally(); laufPhase = 4; laufTimer = System.currentTimeMillis(); } - if(laufPhase == 4 && System.currentTimeMillis() - laufTimer >= 100){ - setImage("2Combo1.png"); + if(laufPhase == 4 && System.currentTimeMillis() - laufTimer >= 200){ + setImage(defaultAnimation); GreenfootImage image = getImage(); - image.scale(160, 160); + image.scale(250, 250); setImage(image); getImage().mirrorHorizontally(); laufPhase = 0; @@ -240,12 +334,57 @@ public class Player2 extends Actor public void charakter(){ if(charakter == 1){ - setImage("2Combo1.png"); - GreenfootImage image = getImage(); - image.scale(160,160); - setImage(image); - getImage().mirrorHorizontally(); + defaultAnimation = "2Combo1.png"; + attacke1Animation = "1Combo2.png"; + attacke2Animation1 = "3Combo2.png"; + attacke2Animation2 = defaultAnimation; + walk1 = "RenRun1.png"; + walk2 = "RenRun2.png"; + walk3 = "RenRun3.png"; + walk4 = "RenRun4.png"; + attack2Duration = 1; + speed = 6; + maxLeben = 100; + leben = maxLeben; + speedFaktor = 1; + speedFaktor2 = speedFaktor; } - + if(charakter == 2){ + defaultAnimation = "Tetsu1Combo1.png"; + attacke1Animation = "Tetsu1Combo2.png"; + attacke2Animation1 = "Tetsu3Combo1.png"; + attacke2Animation2 = "Tetsu3Combo2.png"; + walk1 = "TetsuRun1.png"; + walk2 = "TetsuRun2.png"; + walk3 = "TetsuRun3.png"; + walk4 = "TetsuRun4.png"; + attack2Duration = 2; + speed = 4; + maxLeben = 130; + leben = maxLeben; + speedFaktor = 0.5; + speedFaktor2 = 0.75; + } + if(charakter == 3){ + defaultAnimation = "HinataShoot1.png"; + attacke1Animation = "Hinata2Combo1.png"; + attacke2Animation1 = "Hinata3Combo1.png"; + attacke2Animation2 = defaultAnimation; + walk1 = "HinataRun1.png"; + walk2 = "HinataRun2.png"; + walk3 = "HinataRun3.png"; + walk4 = "HinataRun4.png"; + attack2Duration = 1; + speed = 8; + maxLeben = 80; + leben = maxLeben; + speedFaktor = 2; + speedFaktor2 = 8; + } + setImage(defaultAnimation); + GreenfootImage image = getImage(); + image.scale(250,250); + setImage(image); + getImage().mirrorHorizontally(); } } diff --git a/fighter/project.greenfoot b/fighter/project.greenfoot index cc449e0..43b83a0 100644 --- a/fighter/project.greenfoot +++ b/fighter/project.greenfoot @@ -3,34 +3,47 @@ class.Lebensanzeige.image=Lebensanzeige.png class.MyWorld.image=IMG_7841.png class.Player1.image=man01.png class.Player2.image=man01.png +class.StartWorld.image=HomeScreen.png dependency1.from=EndWorld -dependency1.to=StartWorld +dependency1.to=MenuWorld dependency1.type=UsesDependency +dependency10.from=MyWorld +dependency10.to=Picture +dependency10.type=UsesDependency +dependency11.from=MyWorld +dependency11.to=EndWorld +dependency11.type=UsesDependency dependency2.from=StartWorld -dependency2.to=Pfeil +dependency2.to=Picture dependency2.type=UsesDependency dependency3.from=StartWorld -dependency3.to=MyWorld +dependency3.to=MenuWorld dependency3.type=UsesDependency -dependency4.from=MyWorld -dependency4.to=Player1 +dependency4.from=MenuWorld +dependency4.to=Pfeil dependency4.type=UsesDependency -dependency5.from=MyWorld -dependency5.to=Player2 +dependency5.from=MenuWorld +dependency5.to=Picture dependency5.type=UsesDependency -dependency6.from=MyWorld -dependency6.to=Lebensanzeige +dependency6.from=MenuWorld +dependency6.to=MyWorld dependency6.type=UsesDependency dependency7.from=MyWorld -dependency7.to=EndWorld +dependency7.to=Player1 dependency7.type=UsesDependency -editor.fx.0.height=686 -editor.fx.0.width=1294 -editor.fx.0.x=-7 -editor.fx.0.y=-7 +dependency8.from=MyWorld +dependency8.to=Player2 +dependency8.type=UsesDependency +dependency9.from=MyWorld +dependency9.to=Lebensanzeige +dependency9.type=UsesDependency +editor.fx.0.height=678 +editor.fx.0.width=604 +editor.fx.0.x=682 +editor.fx.0.y=0 height=686 -package.numDependencies=7 -package.numTargets=7 +package.numDependencies=11 +package.numTargets=9 project.charset=UTF-8 publish.hasSource=false publish.locked=true @@ -60,40 +73,54 @@ target2.width=120 target2.x=0 target2.y=0 target3.height=70 -target3.name=Lebensanzeige +target3.name=Picture target3.showInterface=false target3.type=ClassTarget target3.width=120 target3.x=0 target3.y=0 target4.height=70 -target4.name=StartWorld +target4.name=Lebensanzeige target4.showInterface=false target4.type=ClassTarget target4.width=120 target4.x=0 target4.y=0 target5.height=70 -target5.name=Player2 +target5.name=StartWorld target5.showInterface=false target5.type=ClassTarget target5.width=120 target5.x=0 target5.y=0 target6.height=70 -target6.name=Player1 +target6.name=Player2 target6.showInterface=false target6.type=ClassTarget target6.width=120 target6.x=0 target6.y=0 target7.height=70 -target7.name=MyWorld +target7.name=Player1 target7.showInterface=false target7.type=ClassTarget target7.width=120 target7.x=0 target7.y=0 +target8.height=70 +target8.name=MenuWorld +target8.showInterface=false +target8.type=ClassTarget +target8.width=120 +target8.x=0 +target8.y=0 +target9.height=70 +target9.name=MyWorld +target9.showInterface=false +target9.type=ClassTarget +target9.width=120 +target9.x=0 +target9.y=0 version=3.1.0 width=1294 world.lastInstantiated=StartWorld