From 8a02a796a898608623f492dac46f9bda7ef290a6 Mon Sep 17 00:00:00 2001 From: Max Date: Thu, 17 Sep 2026 20:00:38 +0200 Subject: [PATCH] Final --- fighter/MenuWorld.class | Bin 3298 -> 3297 bytes fighter/MenuWorld.java | 2 +- fighter/MyWorld.class | Bin 8345 -> 11638 bytes fighter/MyWorld.ctxt | 14 ++- fighter/MyWorld.java | 237 ++++++++++++++++++++++++++++++++++++-- fighter/Projectile.class | Bin 1709 -> 1709 bytes fighter/Projectile.java | 2 +- fighter/Projectile2.class | Bin 1712 -> 1712 bytes fighter/Projectile2.java | 2 +- fighter/player1.class | Bin 9900 -> 12230 bytes fighter/player1.ctxt | 14 ++- fighter/player1.java | 179 +++++++++++++++++++++++++--- fighter/player2.class | Bin 9863 -> 12249 bytes fighter/player2.ctxt | 12 +- fighter/player2.java | 162 ++++++++++++++++++++++++-- fighter/project.greenfoot | 4 +- 16 files changed, 576 insertions(+), 52 deletions(-) diff --git a/fighter/MenuWorld.class b/fighter/MenuWorld.class index fe6886e22caf2a77fe64ccbb4968ce68bafd1ffb..574c284ad5315fe95ea78b20805c84d341a94a69 100644 GIT binary patch delta 25 gcmaDP`A~9#10SzrUS@8pf?H;KMoDVXM*qn?0D3hEQvd(} delta 26 hcmaDT`ABkt13#Z*US@8pf?H;KMoDT>@kYPNJOG4B3C92c diff --git a/fighter/MenuWorld.java b/fighter/MenuWorld.java index 5a595bf..630e62b 100644 --- a/fighter/MenuWorld.java +++ b/fighter/MenuWorld.java @@ -25,7 +25,7 @@ public class MenuWorld extends World { // Create a new world with 600x400 cells with a cell size of 1x1 pixels. super(600, 400, 1); - showText("Anime Fighters" , 300, 50); + showText("Anime Fighter" , 300, 50); showText("select", 300, 103); //showText("press enter to start", 300, 340); showText("player 1 :", 130,100); diff --git a/fighter/MyWorld.class b/fighter/MyWorld.class index e603b1d7cfa3d7aba75880b5da6ecb8b868af423..fe4d0898d7f2684ed531d45184da043cbbdf1f3d 100644 GIT binary patch literal 11638 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 -attack1Distance && player1.getY() - player2.getY() < 30 && player1.getY() - player2.getY() > -30){ player2.leben = player2.leben -attack1Strength; + player1.shakra = player1.shakra +5; + if(player1.shakra > player1.maxShakra){ + player1.shakra = player1.maxShakra; + } setPaintOrder(Player1.class,Player2.class); if(player2.schautNachRechts){ player2.setImage(player2.hitAnimation); @@ -98,6 +109,10 @@ public class MyWorld extends World if(player2.attacke() &! player1.isBlocking){ 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; + player2.shakra = player2.shakra +5; + if(player2.shakra > player2.maxShakra){ + player2.shakra = player2.maxShakra; + } setPaintOrder(Player2.class,Player1.class); if(player1.schautNachRechts){ player1.setImage(player1.hitAnimation); @@ -119,6 +134,10 @@ public class MyWorld extends World if(player1.attacke2() &! player2.isBlocking){ 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; + player1.shakra = player1.shakra +5; + if(player1.shakra > player1.maxShakra){ + player1.shakra = player1.maxShakra; + } setPaintOrder(Player1.class,Player2.class); if(player2.schautNachRechts){ player2.setImage(player2.hitAnimation); @@ -140,6 +159,10 @@ public class MyWorld extends World if(player2.attacke2() &! player1.isBlocking){ 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; + player2.shakra = player2.shakra +5; + if(player2.shakra > player2.maxShakra){ + player2.shakra = player2.maxShakra; + } setPaintOrder(Player2.class,Player1.class); if(player1.schautNachRechts){ player1.setImage(player1.hitAnimation); @@ -162,6 +185,10 @@ public class MyWorld extends World if(player1.getX() - player2.getX() < attack2Distance && player1.getX() - player2.getX() > -attack2Distance && player1.getY() - player2.getY() < 30 && player1.getY() - player2.getY() > -30){ player2.isBlocking = false; player2.leben = player2.leben -attack2Strength; + player1.shakra = player1.shakra +5; + if(player1.shakra > player1.maxShakra){ + player1.shakra = player1.maxShakra; + } setPaintOrder(Player1.class,Player2.class); if(player2.schautNachRechts){ player2.setImage(player2.hitAnimation); @@ -184,6 +211,10 @@ public class MyWorld extends World 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 -attack2StrengthP2; + player2.shakra = player2.shakra +5; + if(player2.shakra > player2.maxShakra){ + player2.shakra = player2.maxShakra; + } setPaintOrder(Player2.class,Player1.class); if(player1.schautNachRechts){ player1.setImage(player1.hitAnimation); @@ -214,15 +245,25 @@ public class MyWorld extends World gameEnd(); lebensAnzeige(); updateTimersP1(); - if(Greenfoot.isKeyDown("y")){ - shootP1(); + if(player1.shootTimer == 30){ + shootP1(); } - if(Greenfoot.isKeyDown("m")){ + if(Greenfoot.isKeyDown("t")){ + player1.isShooting = true; + } + if(player2.shootTimer == 30){ shootP2(); } + if(Greenfoot.isKeyDown("z")){ + player2.isShooting = true; + } if(shot){ if(projectile1.hit){ - player2.leben = player2.leben -20; + player2.leben = player2.leben -20; + player1.shakra = player1.shakra +5; + if(player1.shakra > player1.maxShakra){ + player1.shakra = player1.maxShakra; + } if(player2.schautNachRechts){ player2.setImage(player2.hitAnimation); GreenfootImage image = player2.getImage(); @@ -243,7 +284,11 @@ public class MyWorld extends World } if(shot2){ if(projectile2.hit){ - player1.leben = player1.leben -20; + player1.leben = player1.leben -20; + player2.shakra = player2.shakra +5; + if(player2.shakra > player2.maxShakra){ + player2.shakra = player2.maxShakra; + } if(player1.schautNachRechts){ player1.setImage(player1.hitAnimation); GreenfootImage image = player1.getImage(); @@ -262,6 +307,72 @@ public class MyWorld extends World shot2 = false; } } + if(player1.ultiTimer == 30){ + ultiP1(); + } + if(Greenfoot.isKeyDown("g") && player1.shakra >= 30 && player1.isUlti == false){ + player1.isUlti = true; + player1.shakra = player1.shakra-30; + } + if(player2.ultiTimer == 30){ + ultiP2(); + } + if(Greenfoot.isKeyDown("h") && player2.shakra >= 30 && player2.isUlti == false){ + player2.isUlti = true; + player2.shakra = player2.shakra-30; + } + if(ulti){ + if(projectile1.hit){ + player2.leben = player2.leben -40; + player1.shakra = player1.shakra +5; + if(player1.shakra > player1.maxShakra){ + player1.shakra = player1.maxShakra; + } + 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; + ulti = false; + } + } + if(ulti2){ + if(projectile2.hit){ + player1.leben = player1.leben -40; + player2.shakra = player2.shakra +5; + if(player2.shakra > player2.maxShakra){ + player2.shakra = player2.maxShakra; + } + 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; + ulti2 = false; + } + } + ultiAnimationP1(); + ultiAnimationP2(); } public void gameEnd(){ @@ -284,13 +395,24 @@ public class MyWorld extends World imag.scale((int)(120 * ((double)player1.shakra/(double)player1.maxShakra)),5); s1.setImage(imag); } + else{ + s1.setImage("blue.png"); + GreenfootImage imag = s1.getImage(); + imag.scale(1,1); + 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); + imag2.scale((int)(120 * ((double)player2.shakra/(double)player2.maxShakra)),5); s2.setImage(imag2); } - + else{ + s2.setImage("blue.png"); + GreenfootImage imag = s2.getImage(); + imag.scale(1,1); + s2.setImage(imag); + } } protected void updateTimersP1() @@ -317,7 +439,7 @@ public class MyWorld extends World int direction = player1.schautNachRechts ? 1 : -1; - + projectile1 = new Projectile(direction, player1, player2); projectile1.setImage(shootAnimation); GreenfootImage image = projectile1.getImage(); @@ -329,8 +451,7 @@ public class MyWorld extends World addObject(projectile1, spawnX, spawnY); shot = true; - - player1.shootCooldown = 60; + player1.shootCooldown = 40; } public void shootP2() @@ -354,7 +475,89 @@ public class MyWorld extends World addObject(projectile2, spawnX, spawnY); shot2 = true; - player2.shootCooldown = 60; + player2.shootCooldown = 40; + } + + public void ultiP1() + { + if (player1.ultiCooldown > 0) { + return; + } + + + int direction = player1.schautNachRechts ? 1 : -1; + + projectile1 = new Projectile(direction, player1, player2); + + + int spawnX = player1.getX() + direction * 60; + int spawnY = player1.getY() - 10; + + addObject(projectile1, spawnX, spawnY); + ulti = true; + player1.ultiCooldown = 40; + } + + public void ultiP2() + { + if (player2.ultiCooldown > 0) { + return; + } + + + int direction = player2.schautNachRechts ? 1 : -1; + + projectile2 = new Projectile2(direction, player2, player1); + + + int spawnX = player2.getX() + direction * 60; + int spawnY = player2.getY() - 10; + + addObject(projectile2, spawnX, spawnY); + ulti2 = true; + player2.ultiCooldown = 40; + } + + public void ultiAnimationP1(){ + if(player1.ultiCooldown > 35){ + projectile1.setImage(ultiAnimation); + GreenfootImage image = projectile1.getImage(); + image.scale(400, 400); + projectile1.setImage(image); + if(!player1.schautNachRechts){ + projectile1.getImage().mirrorHorizontally(); + } + } + if(player1.ultiCooldown > 0 && player1.ultiCooldown < 35){ + projectile1.setImage(ultiAnimation2); + GreenfootImage image = projectile1.getImage(); + image.scale(400, 400); + projectile1.setImage(image); + if(!player1.schautNachRechts){ + projectile1.getImage().mirrorHorizontally(); + } + } + } + + public void ultiAnimationP2(){ + if(player2.ultiCooldown > 35){ + projectile2.setImage(ultiAnimationP2); + GreenfootImage image = projectile2.getImage(); + image.scale(400, 400); + projectile2.setImage(image); + if(!player2.schautNachRechts){ + projectile2.getImage().mirrorHorizontally(); + } + } + if(player2.ultiCooldown > 0 && player2.ultiCooldown < 35){ + projectile2.setImage(ultiAnimation2P2); + GreenfootImage image = projectile2.getImage(); + image.scale(400, 400); + projectile2.setImage(image); + if(!player2.schautNachRechts){ + projectile2.getImage().mirrorHorizontally(); + } + } } public void charakterP1(){ @@ -364,6 +567,8 @@ public class MyWorld extends World attack1Strength = 10; attack2Strength = 20; shootAnimation = "RenProjectile.png"; + ultiAnimation = "RenUltiProjectile1.png"; + ultiAnimation2 = "RenUltiProjectile2.png"; } else if(charakterP1 == 2){ attack1Distance = 95; @@ -371,6 +576,8 @@ public class MyWorld extends World attack1Strength = 15; attack2Strength = 30; shootAnimation = "TetsuProjectile.png"; + ultiAnimation = "TetsuUltiProjectile1.png"; + ultiAnimation2 = "TetsuUltiProjectile2.png"; } else if(charakterP1 == 3){ attack1Distance = 95; @@ -378,6 +585,8 @@ public class MyWorld extends World attack1Strength = 8; attack2Strength = 15; shootAnimation = "HinataProjectile.png"; + ultiAnimation = "HinataUltiProjectile1.png"; + ultiAnimation2 = "HinataUltiProjectile2.png"; } } public void charakterP2(){ @@ -387,6 +596,8 @@ public class MyWorld extends World attack1StrengthP2 = 10; attack2StrengthP2 = 20; shootAnimationP2 = "RenProjectile.png"; + ultiAnimationP2 = "RenUltiProjectile1.png"; + ultiAnimation2P2 = "RenUltiProjectile2.png"; } else if(charakterP2 == 2){ attack1DistanceP2 = 95; @@ -394,6 +605,8 @@ public class MyWorld extends World attack1StrengthP2 = 15; attack2StrengthP2 = 30; shootAnimationP2 = "TetsuProjectile.png"; + ultiAnimationP2 = "TetsuUltiProjectile1.png"; + ultiAnimation2P2 = "TetsuUltiProjectile2.png"; } else if(charakterP2 == 3){ attack1DistanceP2 = 95; @@ -401,6 +614,8 @@ public class MyWorld extends World attack1StrengthP2 = 8; attack2StrengthP2 = 15; shootAnimationP2 = "HinataProjectile.png"; + ultiAnimationP2 = "HinataUltiProjectile1.png"; + ultiAnimation2P2 = "HinataUltiProjectile2.png"; } } } diff --git a/fighter/Projectile.class b/fighter/Projectile.class index 380478fa5fc76a53b56d65d1ee352b08ba3dd519..32b9db8f87f7e99a67d315af627c242757b112a7 100644 GIT binary patch delta 14 VcmZ3>yOwtYI}0PnW)7C6OaLE61D^l@ delta 14 VcmZ3>yOwtYI}0P%W)7C6OaLEI1EBx_ diff --git a/fighter/Projectile.java b/fighter/Projectile.java index d3cc47a..7c2df54 100644 --- a/fighter/Projectile.java +++ b/fighter/Projectile.java @@ -6,7 +6,7 @@ public class Projectile extends Actor Player2 enemy; int direction; - int speed = 10; + int speed = 8; int damage = 10; int lifetime = 100; diff --git a/fighter/Projectile2.class b/fighter/Projectile2.class index 17392e73616b841116048916f962a8ed569cdaf6..f0d960f881397ba84ddf02eb8347911bf2f6481b 100644 GIT binary patch delta 14 VcmdnMyMcED7YifDW^R_HOaLFc1FHZ4 delta 14 VcmdnMyMcED7YifTW^R_HOaLFo1FZl6 diff --git a/fighter/Projectile2.java b/fighter/Projectile2.java index 14037d3..df4cd20 100644 --- a/fighter/Projectile2.java +++ b/fighter/Projectile2.java @@ -6,7 +6,7 @@ public class Projectile2 extends Actor Player1 enemy; int direction; - int speed = 10; + int speed = 8; int damage = 10; int lifetime = 100; diff --git a/fighter/player1.class b/fighter/player1.class index baa57491bc0306db48ba0b82d4e0424b5a907cb0..314ea4fe12b8f965341f8a50bb122e4260bd24c8 100644 GIT binary patch literal 12230 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 NMYpiDr?=$k{{!i6vq%5{ literal 9900 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 diff --git a/fighter/player1.ctxt b/fighter/player1.ctxt index aa7132c..ad3558c 100644 --- a/fighter/player1.ctxt +++ b/fighter/player1.ctxt @@ -12,13 +12,17 @@ comment12.target=void\ dashAnimation(int) comment13.params= comment13.target=void\ animation1() comment14.params= -comment14.target=void\ animationLaufen() +comment14.target=void\ animationShoot() comment15.params= -comment15.target=void\ gotHit() +comment15.target=void\ animationUlti() comment16.params= -comment16.target=void\ block() +comment16.target=void\ animationLaufen() comment17.params= -comment17.target=void\ charakter() +comment17.target=void\ gotHit() +comment18.params= +comment18.target=void\ block() +comment19.params= +comment19.target=void\ charakter() comment2.params= comment2.target=void\ act() comment3.params= @@ -35,4 +39,4 @@ comment8.params= comment8.target=boolean\ attacke2() comment9.params= comment9.target=void\ dash() -numComments=18 +numComments=20 diff --git a/fighter/player1.java b/fighter/player1.java index 3f4d985..d6deeeb 100644 --- a/fighter/player1.java +++ b/fighter/player1.java @@ -42,6 +42,12 @@ public class Player1 extends Actor String blockAnimation; String shootAnimation1; String shootAnimation2; + String shootAnimation3; + String shootAnimation4; + String ultiAnimation1; + String ultiAnimation2; + String ultiAnimation3; + String ultiAnimation4; int attack2Duration; int speed; double speedFaktor; @@ -63,7 +69,10 @@ public class Player1 extends Actor int maxShakra; int shootCooldown = 0; int ultiCooldown = 0; - + int shootTimer = 0; + boolean isShooting = false; + int ultiTimer = 0; + boolean isUlti = false; Player1(int pCharakter){ charakter = pCharakter; @@ -82,10 +91,24 @@ public class Player1 extends Actor dashAttackAnimation(); gotHit(); block(); + animationShoot(); + animationUlti(); + if(isShooting){ + shootTimer++; + } + else{ + shootTimer = 0; + } + if(isUlti){ + ultiTimer++; + } + else{ + ultiTimer = 0; + } } public void bewegung(){ - if(Greenfoot.isKeyDown("d") &! isBlocking){ + if(Greenfoot.isKeyDown("e") &! isBlocking){ setRotation(0); move(speed); if(!schautNachRechts && attackPhase == 0){ @@ -96,7 +119,7 @@ public class Player1 extends Actor attacke(); attacke2(); } - if(Greenfoot.isKeyDown("a") &! isBlocking){ + if(Greenfoot.isKeyDown("q") &! isBlocking){ setRotation(0); move(-speed); if(schautNachRechts && attackPhase == 0){ @@ -109,7 +132,7 @@ public class Player1 extends Actor } } public void springen() { - if (Greenfoot.isKeyDown("space") && getY() >= meereshoehe &! isBlocking) { + if (Greenfoot.isKeyDown("w") && getY() >= meereshoehe &! isBlocking) { vSpeed = -15; fall(); } @@ -136,7 +159,7 @@ public class Player1 extends Actor setImage(dashAnimation); GreenfootImage img2 = getImage(); setImage(img); - if(Greenfoot.isKeyDown("e") &! isDash){ + if(Greenfoot.isKeyDown("f") &! isDash){ if (!attacking && !attacking2) { attacking = true; attackPhase = 1; @@ -173,7 +196,7 @@ public class Player1 extends Actor public boolean attacke2(){ if(System.currentTimeMillis() >= c &! isBlocking){ - if(Greenfoot.isKeyDown("q")){ + if(Greenfoot.isKeyDown("v")){ if (!attacking2 && !attacking) { attacking2 = true; attackPhase = 1; @@ -209,7 +232,7 @@ public class Player1 extends Actor } public void dash(){ - if(Greenfoot.isKeyDown("f") && System.currentTimeMillis() >= dashTimer &! isBlocking){ + if(Greenfoot.isKeyDown("r") && System.currentTimeMillis() >= dashTimer &! isBlocking){ if(schautNachRechts){ vDashSpeed = vDashSpeedCharakter; schautNachRechts2 = 1; @@ -227,7 +250,7 @@ public class Player1 extends Actor } public boolean dashAttack(){ - if(isDash && Greenfoot.isKeyDown("e") && System.currentTimeMillis() >= dashAttackTimer &! isBlocking){ + if(isDash && Greenfoot.isKeyDown("f") && System.currentTimeMillis() >= dashAttackTimer &! isBlocking){ dashAttackTimer = System.currentTimeMillis() + 300; dashAttackTimer2 = System.currentTimeMillis() + 300; isDashAttack = true; @@ -359,8 +382,106 @@ public class Player1 extends Actor } } + public void animationShoot(){ + if(shootTimer > 0){ + setImage(shootAnimation1); + GreenfootImage image = getImage(); + image.scale(250, 250); + setImage(image); + if(!schautNachRechts){ + getImage().mirrorHorizontally(); + } + } + if(shootTimer > 10){ + setImage(shootAnimation2); + GreenfootImage image = getImage(); + image.scale(250, 250); + setImage(image); + if(!schautNachRechts){ + getImage().mirrorHorizontally(); + } + } + if(shootTimer > 20){ + setImage(shootAnimation3); + GreenfootImage image = getImage(); + image.scale(250, 250); + setImage(image); + if(!schautNachRechts){ + getImage().mirrorHorizontally(); + } + } + if(shootTimer > 30){ + setImage(shootAnimation4); + GreenfootImage image = getImage(); + image.scale(250, 250); + setImage(image); + if(!schautNachRechts){ + getImage().mirrorHorizontally(); + } + } + if(shootTimer > 40){ + setImage(defaultAnimation); + GreenfootImage image = getImage(); + image.scale(250, 250); + setImage(image); + isShooting = false; + if(!schautNachRechts){ + getImage().mirrorHorizontally(); + } + } + } + + public void animationUlti(){ + if(ultiTimer > 0){ + setImage(ultiAnimation1); + GreenfootImage image = getImage(); + image.scale(250, 250); + setImage(image); + if(!schautNachRechts){ + getImage().mirrorHorizontally(); + } + } + if(ultiTimer > 10){ + setImage(ultiAnimation2); + GreenfootImage image = getImage(); + image.scale(250, 250); + setImage(image); + if(!schautNachRechts){ + getImage().mirrorHorizontally(); + } + } + if(ultiTimer > 20){ + setImage(ultiAnimation3); + GreenfootImage image = getImage(); + image.scale(250, 250); + setImage(image); + if(!schautNachRechts){ + getImage().mirrorHorizontally(); + } + } + if(ultiTimer > 30){ + setImage(ultiAnimation4); + GreenfootImage image = getImage(); + image.scale(250, 250); + setImage(image); + if(!schautNachRechts){ + getImage().mirrorHorizontally(); + } + } + if(ultiTimer > 40){ + setImage(defaultAnimation); + GreenfootImage image = getImage(); + image.scale(250, 250); + setImage(image); + isUlti = false; + if(!schautNachRechts){ + getImage().mirrorHorizontally(); + } + } + } + public void animationLaufen(){ - if(laeuft &! attacking &! attacking2){ + if(laeuft &! attacking &! attacking2 &! isShooting &! isUlti){ if(schautNachRechts){ if(laufPhase == 0){ setImage(walk1); @@ -469,7 +590,7 @@ public class Player1 extends Actor } public void block(){ - if(Greenfoot.isKeyDown("r")){ + if(Greenfoot.isKeyDown("d")){ isBlocking = true; setImage(blockAnimation); GreenfootImage image = getImage(); @@ -479,7 +600,7 @@ public class Player1 extends Actor getImage().mirrorHorizontally(); } } - if(isBlocking &! Greenfoot.isKeyDown("r")){ + if(isBlocking &! Greenfoot.isKeyDown("d")){ isBlocking = false; setImage(defaultAnimation); GreenfootImage image = getImage(); @@ -507,14 +628,22 @@ public class Player1 extends Actor hitAnimation = "RenHit.png"; dashAttackAnimation = "RenDashForwardAttack.png"; blockAnimation = "RenBlock.png"; + shootAnimation1 = "RenShoot1.png"; + shootAnimation2 = shootAnimation1; + shootAnimation3 = "RenShoot2.png"; + shootAnimation4 = shootAnimation3; + ultiAnimation1 = "RenUlti1.png"; + ultiAnimation2 = "RenUlti2.png"; + ultiAnimation3 = "RenUlti3.png"; + ultiAnimation4 = "RenUlti4.png"; attack2Duration = 1; speed = 6; - maxLeben = 100; + maxLeben = 250; leben = maxLeben; speedFaktor = 1; speedFaktor2 = speedFaktor; vDashSpeedCharakter = 12; - maxShakra = 80; + maxShakra = 30; shakra = maxShakra; } if(charakter == 2){ @@ -530,14 +659,22 @@ public class Player1 extends Actor hitAnimation = "TetsuHit.png"; dashAttackAnimation = "TetsuDashForwardAttack.png"; blockAnimation = "TetsuBlock.png"; + shootAnimation1 = "TetsuShoot1.png"; + shootAnimation2 = "TetsuShoot2.png"; + shootAnimation3 = "TetsuShoot3.png"; + shootAnimation4 = "TetsuShoot4.png"; + ultiAnimation1 = "TetsuUlti1.png"; + ultiAnimation2 = "TetsuUlti2.png"; + ultiAnimation3 = "TetsuUlti3.png"; + ultiAnimation4 = "TetsuUlti4.png"; attack2Duration = 2; speed = 4; - maxLeben = 130; + maxLeben = 300; leben = maxLeben; speedFaktor = 0.5; speedFaktor2 = 0.75; vDashSpeedCharakter = 10; - maxShakra = 100; + maxShakra = 30; shakra = maxShakra; } if(charakter == 3){ @@ -553,14 +690,22 @@ public class Player1 extends Actor hitAnimation = "HinataHit.png"; dashAttackAnimation = "HinataDashForwardAttack.png"; blockAnimation = "HinataBlock.png"; + shootAnimation1 = "HinataShoot1.png"; + shootAnimation2 = "HinataShoot2.png"; + shootAnimation3 = "HinataShoot3.png"; + shootAnimation4 = "HinataShoot4.png"; + ultiAnimation1 = "HinataUlti1.png"; + ultiAnimation2 = "HinataUlti2.png"; + ultiAnimation3 = "HinataUlti3.png"; + ultiAnimation4 = "HinataUlti4.png"; attack2Duration = 1; speed = 8; - maxLeben = 80; + maxLeben = 200; leben = maxLeben; speedFaktor = 2; speedFaktor2 = 8; vDashSpeedCharakter = 14; - maxShakra = 60; + maxShakra = 30; shakra = maxShakra; } setImage(defaultAnimation); diff --git a/fighter/player2.class b/fighter/player2.class index e42fbd065efe865f9ba2eb633af435d9eb540baa..c22c0d1763943a1df6ce7110c7ac6de442db9be9 100644 GIT binary patch literal 12249 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 literal 9863 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 diff --git a/fighter/player2.ctxt b/fighter/player2.ctxt index a0fca16..247d0b0 100644 --- a/fighter/player2.ctxt +++ b/fighter/player2.ctxt @@ -14,11 +14,15 @@ comment13.target=void\ animation1() comment14.params= comment14.target=void\ animationLaufen() comment15.params= -comment15.target=void\ gotHit() +comment15.target=void\ animationShoot() comment16.params= -comment16.target=void\ block() +comment16.target=void\ animationUlti() comment17.params= -comment17.target=void\ charakter() +comment17.target=void\ gotHit() +comment18.params= +comment18.target=void\ block() +comment19.params= +comment19.target=void\ charakter() comment2.params= comment2.target=void\ act() comment3.params= @@ -35,4 +39,4 @@ comment8.params= comment8.target=boolean\ attacke2() comment9.params= comment9.target=void\ dash() -numComments=18 +numComments=20 diff --git a/fighter/player2.java b/fighter/player2.java index 3a336f6..70464dd 100644 --- a/fighter/player2.java +++ b/fighter/player2.java @@ -36,6 +36,14 @@ public class Player2 extends Actor String walk2; String walk3; String walk4; + String shootAnimation1; + String shootAnimation2; + String shootAnimation3; + String shootAnimation4; + String ultiAnimation1; + String ultiAnimation2; + String ultiAnimation3; + String ultiAnimation4; String dashAnimation; String hitAnimation; String dashAttackAnimation; @@ -61,6 +69,10 @@ public class Player2 extends Actor int maxShakra; int shootCooldown = 0; int ultiCooldown = 0; + int shootTimer = 0; + boolean isShooting = false; + int ultiTimer = 0; + boolean isUlti = false; Player2(int pCharakter){ charakter = pCharakter; @@ -79,6 +91,20 @@ public class Player2 extends Actor dashAttackAnimation(); gotHit(); block(); + animationShoot(); + animationUlti(); + if(isShooting){ + shootTimer++; + } + else{ + shootTimer = 0; + } + if(isUlti){ + ultiTimer++; + } + else{ + ultiTimer = 0; + } } public void bewegung(){ @@ -357,7 +383,7 @@ public class Player2 extends Actor } public void animationLaufen(){ - if(laeuft &! attacking &! attacking2){ + if(laeuft &! attacking &! attacking2 &! isShooting &! isUlti){ if(schautNachRechts){ if(laufPhase == 0){ setImage(walk1); @@ -452,6 +478,104 @@ public class Player2 extends Actor } } + public void animationShoot(){ + if(shootTimer > 0){ + setImage(shootAnimation1); + GreenfootImage image = getImage(); + image.scale(250, 250); + setImage(image); + if(!schautNachRechts){ + getImage().mirrorHorizontally(); + } + } + if(shootTimer > 10){ + setImage(shootAnimation2); + GreenfootImage image = getImage(); + image.scale(250, 250); + setImage(image); + if(!schautNachRechts){ + getImage().mirrorHorizontally(); + } + } + if(shootTimer > 20){ + setImage(shootAnimation3); + GreenfootImage image = getImage(); + image.scale(250, 250); + setImage(image); + if(!schautNachRechts){ + getImage().mirrorHorizontally(); + } + } + if(shootTimer > 30){ + setImage(shootAnimation4); + GreenfootImage image = getImage(); + image.scale(250, 250); + setImage(image); + if(!schautNachRechts){ + getImage().mirrorHorizontally(); + } + } + if(shootTimer > 40){ + setImage(defaultAnimation); + GreenfootImage image = getImage(); + image.scale(250, 250); + setImage(image); + isShooting = false; + if(!schautNachRechts){ + getImage().mirrorHorizontally(); + } + } + } + + public void animationUlti(){ + if(ultiTimer > 0){ + setImage(ultiAnimation1); + GreenfootImage image = getImage(); + image.scale(250, 250); + setImage(image); + if(!schautNachRechts){ + getImage().mirrorHorizontally(); + } + } + if(ultiTimer > 10){ + setImage(ultiAnimation2); + GreenfootImage image = getImage(); + image.scale(250, 250); + setImage(image); + if(!schautNachRechts){ + getImage().mirrorHorizontally(); + } + } + if(ultiTimer > 20){ + setImage(ultiAnimation3); + GreenfootImage image = getImage(); + image.scale(250, 250); + setImage(image); + if(!schautNachRechts){ + getImage().mirrorHorizontally(); + } + } + if(ultiTimer > 30){ + setImage(ultiAnimation4); + GreenfootImage image = getImage(); + image.scale(250, 250); + setImage(image); + if(!schautNachRechts){ + getImage().mirrorHorizontally(); + } + } + if(ultiTimer > 40){ + setImage(defaultAnimation); + GreenfootImage image = getImage(); + image.scale(250, 250); + setImage(image); + isUlti = false; + if(!schautNachRechts){ + getImage().mirrorHorizontally(); + } + } + } + public void gotHit(){ if(System.currentTimeMillis() >= hitTimer && gotHit){ setImage(defaultAnimation); @@ -502,14 +626,22 @@ public class Player2 extends Actor hitAnimation = "RenHit.png"; dashAttackAnimation = "RenDashForwardAttack.png"; blockAnimation = "RenBlock.png"; + shootAnimation1 = "RenShoot1.png"; + shootAnimation2 = shootAnimation1; + shootAnimation3 = "RenShoot2.png"; + shootAnimation4 = shootAnimation3; + ultiAnimation1 = "RenUlti1.png"; + ultiAnimation2 = "RenUlti2.png"; + ultiAnimation3 = "RenUlti3.png"; + ultiAnimation4 = "RenUlti4.png"; attack2Duration = 1; speed = 6; - maxLeben = 100; + maxLeben = 250; leben = maxLeben; speedFaktor = 1; speedFaktor2 = speedFaktor; vDashSpeedCharakter = 12; - maxShakra = 80; + maxShakra = 30; shakra = maxShakra; } if(charakter == 2){ @@ -525,14 +657,22 @@ public class Player2 extends Actor hitAnimation = "TetsuHit.png"; dashAttackAnimation = "TetsuDashForwardAttack.png"; blockAnimation = "TetsuBlock.png"; + shootAnimation1 = "TetsuShoot1.png"; + shootAnimation2 = "TetsuShoot2.png"; + shootAnimation3 = "TetsuShoot3.png"; + shootAnimation4 = "TetsuShoot4.png"; + ultiAnimation1 = "TetsuUlti1.png"; + ultiAnimation2 = "TetsuUlti2.png"; + ultiAnimation3 = "TetsuUlti3.png"; + ultiAnimation4 = "TetsuUlti4.png"; attack2Duration = 2; speed = 4; - maxLeben = 130; + maxLeben = 300; leben = maxLeben; speedFaktor = 0.5; speedFaktor2 = 0.75; vDashSpeedCharakter = 10; - maxShakra = 100; + maxShakra = 30; shakra = maxShakra; } if(charakter == 3){ @@ -548,14 +688,22 @@ public class Player2 extends Actor hitAnimation = "HinataHit.png"; dashAttackAnimation = "HinataDashForwardAttack.png"; blockAnimation = "HinataBlock.png"; + shootAnimation1 = "HinataShoot1.png"; + shootAnimation2 = "HinataShoot2.png"; + shootAnimation3 = "HinataShoot3.png"; + shootAnimation4 = "HinataShoot4.png"; + ultiAnimation1 = "HinataUlti1.png"; + ultiAnimation2 = "HinataUlti2.png"; + ultiAnimation3 = "HinataUlti3.png"; + ultiAnimation4 = "HinataUlti4.png"; attack2Duration = 1; speed = 8; - maxLeben = 80; + maxLeben = 200; leben = maxLeben; speedFaktor = 2; speedFaktor2 = 8; vDashSpeedCharakter = 14; - maxShakra = 60; + maxShakra = 30; shakra = maxShakra; } setImage(defaultAnimation); diff --git a/fighter/project.greenfoot b/fighter/project.greenfoot index 7c2f04a..337f983 100644 --- a/fighter/project.greenfoot +++ b/fighter/project.greenfoot @@ -59,7 +59,7 @@ editor.fx.0.height=686 editor.fx.0.width=1294 editor.fx.0.x=-7 editor.fx.0.y=-7 -height=686 +height=26 package.numDependencies=17 package.numTargets=11 project.charset=UTF-8 @@ -154,7 +154,7 @@ target9.width=120 target9.x=0 target9.y=0 version=3.1.0 -width=1294 +width=158 world.lastInstantiated=StartWorld xPosition=0 yPosition=0