Merge remote-tracking branch 'origin/master'

This commit is contained in:
Antoine 2021-06-23 21:26:19 +02:00
commit 0bd14bbd5d
6 changed files with 232 additions and 108 deletions

View File

@ -1022,7 +1022,7 @@ public class BlueBaseFrames {
String path = "textures/Sprite_sans_grille_9comp.png"; String path = "textures/Sprite_sans_grille_9comp.png";
String pathToBG = "textures/arena1.png"; String pathToBG = "textures/arena1.png";
Frame f = BlueMisc.blueCrouchGuard(); Frame f = BlueNormals.crouchCFrame2();
ObjectGl blue = new ObjectGl(0f, 138f, 138f, 5f, path, null); ObjectGl blue = new ObjectGl(0f, 138f, 138f, 5f, path, null);

View File

@ -17,7 +17,7 @@ import static gameplay.input.ButtonIG.*;
public class BlueNormals { public class BlueNormals {
private static Frame crouchAFrame1(){ protected static Frame crouchAFrame1(){
//movement data //movement data
double moveX = 0.0; double moveX = 0.0;
double moveY = 0.0; double moveY = 0.0;
@ -50,7 +50,7 @@ public class BlueNormals {
return f; return f;
} }
private static Frame crouchAFrame2(){ protected static Frame crouchAFrame2(){
//movement data //movement data
double moveX = 0.0; double moveX = 0.0;
double moveY = 0.0; double moveY = 0.0;
@ -87,7 +87,7 @@ public class BlueNormals {
return f; return f;
} }
private static Frame crouchAFrame3(){ protected static Frame crouchAFrame3(){
//movement data //movement data
double moveX = 0.0; double moveX = 0.0;
double moveY = 0.0; double moveY = 0.0;
@ -120,7 +120,7 @@ public class BlueNormals {
return f; return f;
} }
private static attackPart blueCrouchAstartup() { protected static attackPart blueCrouchAstartup() {
Frame[] f = new Frame[4]; Frame[] f = new Frame[4];
f[0] = crouchAFrame1(); f[0] = crouchAFrame1();
f[1] = crouchAFrame1(); f[1] = crouchAFrame1();
@ -129,7 +129,7 @@ public class BlueNormals {
return(new attackPart(f)); return(new attackPart(f));
} }
private static attackPart blueCrouchArecovery() { protected static attackPart blueCrouchArecovery() {
Frame[] f = new Frame[5]; Frame[] f = new Frame[5];
f[0] = crouchAFrame3(); f[0] = crouchAFrame3();
f[1] = crouchAFrame3(); f[1] = crouchAFrame3();
@ -139,7 +139,7 @@ public class BlueNormals {
return(new attackPart(f)); return(new attackPart(f));
} }
private static attackPart blueCrouchAactive() { protected static attackPart blueCrouchAactive() {
Frame[] f = new Frame[3]; Frame[] f = new Frame[3];
f[0] = crouchAFrame2(); f[0] = crouchAFrame2();
f[1] = crouchAFrame2(); f[1] = crouchAFrame2();
@ -155,7 +155,7 @@ public class BlueNormals {
return new Attack(isSpecial,rS,cmd,parts); return new Attack(isSpecial,rS,cmd,parts);
} }
private static Frame crouchCFrame1() { protected static Frame crouchCFrame1() {
//movement data //movement data
double moveX = 0.0; double moveX = 0.0;
double moveY = 0.0; double moveY = 0.0;
@ -221,7 +221,7 @@ public class BlueNormals {
return f; return f;
} }
private static Frame crouchCFrame3() { protected static Frame crouchCFrame3() {
Passive_HitBox bStandPHB1 = new Passive_HitBox(300,-200,150,500); Passive_HitBox bStandPHB1 = new Passive_HitBox(300,-200,150,500);
Passive_throw_HitBox bStandPTHB1 = new Passive_throw_HitBox(200,-600,280,100); Passive_throw_HitBox bStandPTHB1 = new Passive_throw_HitBox(200,-600,280,100);
Push_HitBox bStandPB1 = new Push_HitBox(270,-170,180,540); Push_HitBox bStandPB1 = new Push_HitBox(270,-170,180,540);
@ -238,7 +238,7 @@ public class BlueNormals {
return f; return f;
} }
private static Frame crouchCFrame4() { protected static Frame crouchCFrame4() {
//movement data //movement data
double moveX = 0.0; double moveX = 0.0;
double moveY = 0.0; double moveY = 0.0;
@ -271,7 +271,7 @@ public class BlueNormals {
return f; return f;
} }
private static Frame crouchCFrame5() { protected static Frame crouchCFrame5() {
//movement data //movement data
double moveX = 0.0; double moveX = 0.0;
double moveY = 0.0; double moveY = 0.0;
@ -304,7 +304,7 @@ public class BlueNormals {
return f; return f;
} }
private static attackPart blueCrouchCstartup() { protected static attackPart blueCrouchCstartup() {
Frame[] f = new Frame[5]; Frame[] f = new Frame[5];
f[0] = crouchCFrame1(); f[0] = crouchCFrame1();
f[1] = crouchCFrame1(); f[1] = crouchCFrame1();
@ -314,7 +314,7 @@ public class BlueNormals {
return(new attackPart(f)); return(new attackPart(f));
} }
private static attackPart blueCrouchCrecovery() { protected static attackPart blueCrouchCrecovery() {
Frame[] f = new Frame[19]; Frame[] f = new Frame[19];
int i; int i;
for(i = 0; i < 10; i++) { for(i = 0; i < 10; i++) {
@ -326,7 +326,7 @@ public class BlueNormals {
return(new attackPart(f)); return(new attackPart(f));
} }
private static attackPart blueCrouchCactive() { protected static attackPart blueCrouchCactive() {
Frame[] f = new Frame[5]; Frame[] f = new Frame[5];
for(int i = 0; i < f.length; i++) { for(int i = 0; i < f.length; i++) {
f[i] = crouchCFrame3(); f[i] = crouchCFrame3();
@ -608,7 +608,7 @@ public class BlueNormals {
return new Attack(isSpecial,rS,cmd,parts); return new Attack(isSpecial,rS,cmd,parts);
} }
private static Frame standAFrame1(){ protected static Frame standAFrame1(){
/* /*
Hitboxes lists creation Hitboxes lists creation
@ -647,7 +647,7 @@ public class BlueNormals {
return f; return f;
} }
private static Frame standAFrame2(){ protected static Frame standAFrame2(){
/* /*
Hitboxes lists creation Hitboxes lists creation
@ -688,7 +688,7 @@ public class BlueNormals {
return f; return f;
} }
private static Frame standAFrame3(){ protected static Frame standAFrame3(){
Passive_HitBox bStandPHB1 = new Passive_HitBox(200*1.25f,-200*1.25f,150*1.25f,150*1.25f); Passive_HitBox bStandPHB1 = new Passive_HitBox(200*1.25f,-200*1.25f,150*1.25f,150*1.25f);
Passive_HitBox bStandPHB2 = new Passive_HitBox(220*1.25f,-300*1.25f,75*1.25f,150*1.25f); Passive_HitBox bStandPHB2 = new Passive_HitBox(220*1.25f,-300*1.25f,75*1.25f,150*1.25f);
@ -709,7 +709,7 @@ public class BlueNormals {
return blueStandframe1; return blueStandframe1;
} }
private static attackPart blueStandAstartup() { protected static attackPart blueStandAstartup() {
Frame[] f = new Frame[3]; Frame[] f = new Frame[3];
f[0] = standAFrame1(); f[0] = standAFrame1();
f[1] = standAFrame1(); f[1] = standAFrame1();
@ -717,7 +717,7 @@ public class BlueNormals {
return(new attackPart(f)); return(new attackPart(f));
} }
private static attackPart blueStandArecovery() { protected static attackPart blueStandArecovery() {
Frame[] f = new Frame[5]; Frame[] f = new Frame[5];
f[0] = standAFrame3(); f[0] = standAFrame3();
f[1] = standAFrame3(); f[1] = standAFrame3();
@ -727,7 +727,7 @@ public class BlueNormals {
return(new attackPart(f)); return(new attackPart(f));
} }
private static attackPart blueStandAactive() { protected static attackPart blueStandAactive() {
Frame[] f = new Frame[3]; Frame[] f = new Frame[3];
f[0] = standAFrame2(); f[0] = standAFrame2();
f[1] = standAFrame2(); f[1] = standAFrame2();
@ -890,7 +890,7 @@ public class BlueNormals {
return new Attack(isSpecial,rS,cmd,parts); return new Attack(isSpecial,rS,cmd,parts);
} }
private static Frame standDFrame1(){ protected static Frame standDFrame1(){
/* /*
Hitboxes lists creation Hitboxes lists creation
@ -903,16 +903,23 @@ public class BlueNormals {
/* /*
Individual hitboxes creation Individual hitboxes creation
*/ */
Passive_HitBox phb1 = new Passive_HitBox(70,70,150,500); Passive_HitBox pHB1 = new Passive_HitBox(200*1.25f,-200*1.25f,150*1.25f,150*1.25f);
Passive_throw_HitBox pthb1 = new Passive_throw_HitBox(70,400,150,100); Passive_HitBox pHB2 = new Passive_HitBox(220*1.25f,-300*1.25f,100*1.25f,150*1.25f);
Push_HitBox pushB = new Push_HitBox(70,70,150,500); Passive_HitBox pHB3 = new Passive_HitBox(200*1.25f,-400*1.25f,150*1.25f,150*1.25f);
Passive_HitBox pHB4 = new Passive_HitBox(280*1.25f,-150*1.25f,50*1.25f,50*1.25f);
Passive_throw_HitBox pthb1 = new Passive_throw_HitBox(150*1.25f,-500*1.25f,220*1.25f,70*1.25f);
Push_HitBox pushB = new Push_HitBox(200*1.25f,-150*1.25f,160*1.25f,400*1.25f);
/* /*
adding hitboxes to lists adding hitboxes to lists
*/ */
phb.add(phb1); phb.add(pHB1);
phb.add(pHB4);
phb.add(pHB3);
phb.add(pHB2);
pthb.add(pthb1); pthb.add(pthb1);
/* /*
frame creation frame creation
*/ */
@ -923,7 +930,7 @@ public class BlueNormals {
return f; return f;
} }
private static Frame standDFrame2(){ protected static Frame standDFrame2(){
/* /*
Hitboxes lists creation Hitboxes lists creation
@ -933,19 +940,26 @@ public class BlueNormals {
ArrayList<Active_HitBox> ahb = new ArrayList<Active_HitBox>(); ArrayList<Active_HitBox> ahb = new ArrayList<Active_HitBox>();
ArrayList<Active_throw_Hitbox> athb = new ArrayList<Active_throw_Hitbox>(); ArrayList<Active_throw_Hitbox> athb = new ArrayList<Active_throw_Hitbox>();
/* Passive_HitBox pHB1 = new Passive_HitBox(200*1.25f,-200*1.25f,150*1.25f,150*1.25f);
Individual hitboxes creation Passive_HitBox pHB2 = new Passive_HitBox(220*1.25f,-300*1.25f,100*1.25f,150*1.25f);
*/ Passive_HitBox pHB3 = new Passive_HitBox(200*1.25f,-400*1.25f,150*1.25f,150*1.25f);
Passive_HitBox phb1 = new Passive_HitBox(70,70,150,500); Passive_HitBox pHB4 = new Passive_HitBox(250*1.25f,-130*1.25f,50*1.25f,70*1.25f);
Passive_throw_HitBox pthb1 = new Passive_throw_HitBox(70,400,150,100); Passive_HitBox pHB5 = new Passive_HitBox(350*1.25f,-230*1.25f,50*1.25f,70*1.25f);
Push_HitBox pushB = new Push_HitBox(70,70,150,500); Passive_HitBox pHB6 = new Passive_HitBox(400*1.25f,-180*1.25f,50*1.25f,70*1.25f);
Passive_throw_HitBox pthb1 = new Passive_throw_HitBox(150*1.25f,-500*1.25f,220*1.25f,70*1.25f);
Push_HitBox pushB = new Push_HitBox(200*1.25f,-150*1.25f,160*1.25f,400*1.25f);
/* /*
adding hitboxes to lists adding hitboxes to lists
*/ */
phb.add(phb1); phb.add(pHB1);
phb.add(pHB4);
phb.add(pHB3);
phb.add(pHB2);
phb.add(pHB5);
phb.add(pHB6);
pthb.add(pthb1); pthb.add(pthb1);
/* /*
frame creation frame creation
*/ */
@ -956,7 +970,7 @@ public class BlueNormals {
return f; return f;
} }
private static Frame standDFrame3(){ protected static Frame standDFrame3(){
/* /*
Hitboxes lists creation Hitboxes lists creation
@ -969,15 +983,28 @@ public class BlueNormals {
/* /*
Individual hitboxes creation Individual hitboxes creation
*/ */
Passive_HitBox phb1 = new Passive_HitBox(70,70,150,500); Passive_HitBox phb1 = new Passive_HitBox(300,-150,150,550);
Passive_throw_HitBox pthb1 = new Passive_throw_HitBox(70,400,150,100); Passive_HitBox phb2 = new Passive_HitBox(150,-180,250,350);
Push_HitBox pushB = new Push_HitBox(70,70,150,500); Passive_HitBox phb3 = new Passive_HitBox(450,-250,150,70);
Passive_HitBox phb5 = new Passive_HitBox(450,-320,40,70);
Passive_HitBox phb4 = new Passive_HitBox(550,-180,100,100);
Passive_throw_HitBox pthb1 = new Passive_throw_HitBox(250,-600,250,100);
Push_HitBox pushB = new Push_HitBox(300,-200,150,500);
Active_HitBox ahb1 = new Active_HitBox(500,-110,220,220);
Active_HitBox ahb2 = new Active_HitBox(400,-300,120,120);
/* /*
adding hitboxes to lists adding hitboxes to lists
*/ */
phb.add(phb1); phb.add(phb1);
phb.add(phb3);
phb.add(phb2);
phb.add(phb5);
phb.add(phb4);
pthb.add(pthb1); pthb.add(pthb1);
ahb.add(ahb1);
ahb.add(ahb2);
/* /*
frame creation frame creation
@ -989,7 +1016,7 @@ public class BlueNormals {
return f; return f;
} }
private static Frame standDFrame4(){ protected static Frame standDFrame4(){
/* /*
Hitboxes lists creation Hitboxes lists creation
@ -999,19 +1026,26 @@ public class BlueNormals {
ArrayList<Active_HitBox> ahb = new ArrayList<Active_HitBox>(); ArrayList<Active_HitBox> ahb = new ArrayList<Active_HitBox>();
ArrayList<Active_throw_Hitbox> athb = new ArrayList<Active_throw_Hitbox>(); ArrayList<Active_throw_Hitbox> athb = new ArrayList<Active_throw_Hitbox>();
/* Passive_HitBox pHB1 = new Passive_HitBox(200*1.25f,-200*1.25f,150*1.25f,150*1.25f);
Individual hitboxes creation Passive_HitBox pHB2 = new Passive_HitBox(220*1.25f,-300*1.25f,100*1.25f,150*1.25f);
*/ Passive_HitBox pHB3 = new Passive_HitBox(200*1.25f,-400*1.25f,150*1.25f,150*1.25f);
Passive_HitBox phb1 = new Passive_HitBox(70,70,150,500); Passive_HitBox pHB4 = new Passive_HitBox(250*1.25f,-130*1.25f,50*1.25f,70*1.25f);
Passive_throw_HitBox pthb1 = new Passive_throw_HitBox(70,400,150,100); Passive_HitBox pHB5 = new Passive_HitBox(350*1.25f,-230*1.25f,50*1.25f,70*1.25f);
Push_HitBox pushB = new Push_HitBox(70,70,150,500); Passive_HitBox pHB6 = new Passive_HitBox(400*1.25f,-180*1.25f,50*1.25f,70*1.25f);
Passive_throw_HitBox pthb1 = new Passive_throw_HitBox(150*1.25f,-500*1.25f,220*1.25f,70*1.25f);
Push_HitBox pushB = new Push_HitBox(200*1.25f,-150*1.25f,160*1.25f,400*1.25f);
/* /*
adding hitboxes to lists adding hitboxes to lists
*/ */
phb.add(phb1); phb.add(pHB1);
phb.add(pHB4);
phb.add(pHB3);
phb.add(pHB2);
phb.add(pHB5);
phb.add(pHB6);
pthb.add(pthb1); pthb.add(pthb1);
/* /*
frame creation frame creation
*/ */
@ -1055,7 +1089,7 @@ public class BlueNormals {
return f; return f;
} }
private static attackPart blueStandDstartup() { protected static attackPart blueStandDstartup() {
Frame[] f = new Frame[8]; Frame[] f = new Frame[8];
for(int i = 0; i < 5; i++) { for(int i = 0; i < 5; i++) {
f[i] = standDFrame1(); f[i] = standDFrame1();
@ -1066,7 +1100,7 @@ public class BlueNormals {
return(new attackPart(f)); return(new attackPart(f));
} }
private static attackPart blueStandDactive() { protected static attackPart blueStandDactive() {
Frame[] f = new Frame[5]; Frame[] f = new Frame[5];
for(int i = 0; i < f.length; i++) { for(int i = 0; i < f.length; i++) {
f[i] = standDFrame3(); f[i] = standDFrame3();
@ -1074,7 +1108,7 @@ public class BlueNormals {
return(new attackPart(100,0,20,18,16,14,f,false,false,false)); return(new attackPart(100,0,20,18,16,14,f,false,false,false));
} }
private static attackPart blueStandDrecovery() { protected static attackPart blueStandDrecovery() {
Frame[] f = new Frame[18]; Frame[] f = new Frame[18];
for(int i = 0; i < 10; i++) { for(int i = 0; i < 10; i++) {
f[i] = standDFrame4(); f[i] = standDFrame4();
@ -1238,7 +1272,7 @@ public class BlueNormals {
f.setSpriteWrap((138*5),(138*4),138,138); f.setSpriteWrap((138*5),(138*4),138,138);
return f; return f;
} }
private static Frame ForwardDFrame1(){ protected static Frame ForwardDFrame1(){
//movement data //movement data
double moveX = 0.0; double moveX = 0.0;
double moveY = 0.0; double moveY = 0.0;
@ -1266,7 +1300,7 @@ public class BlueNormals {
return f; return f;
} }
private static Frame ForwardDFrame2(){ protected static Frame ForwardDFrame2(){
//movement data //movement data
double moveX = 0.0; double moveX = 0.0;
double moveY = 0.0; double moveY = 0.0;
@ -1294,7 +1328,7 @@ public class BlueNormals {
return f; return f;
} }
private static Frame ForwardDFrame3(){ protected static Frame ForwardDFrame3(){
//movement data //movement data
double moveX = 0.0; double moveX = 0.0;
double moveY = 0.0; double moveY = 0.0;
@ -1322,7 +1356,7 @@ public class BlueNormals {
return f; return f;
} }
private static Frame ForwardDFrame4(){ protected static Frame ForwardDFrame4(){
//movement data //movement data
double moveX = 0.0; double moveX = 0.0;
double moveY = 0.0; double moveY = 0.0;
@ -1350,7 +1384,7 @@ public class BlueNormals {
return f; return f;
} }
private static Frame ForwardDFrame5(){ protected static Frame ForwardDFrame5(){
//movement data //movement data
double moveX = 0.0; double moveX = 0.0;
double moveY = 0.0; double moveY = 0.0;
@ -1378,7 +1412,7 @@ public class BlueNormals {
return f; return f;
} }
private static attackPart blueForwardDstartup() { protected static attackPart blueForwardDstartup() {
Frame[] f = new Frame[18]; Frame[] f = new Frame[18];
for (int i = 0; i < 3 ; i++) { for (int i = 0; i < 3 ; i++) {
f[i] = ForwardDFrame0(); f[i] = ForwardDFrame0();
@ -1392,7 +1426,7 @@ public class BlueNormals {
return (new attackPart(f)); return (new attackPart(f));
} }
private static attackPart blueForwardDrecovery() { protected static attackPart blueForwardDrecovery() {
Frame[] f = new Frame[8]; Frame[] f = new Frame[8];
for (int i = 0; i < 3; i++) { for (int i = 0; i < 3; i++) {
f[i] = ForwardDFrame4(); f[i] = ForwardDFrame4();
@ -1403,7 +1437,7 @@ public class BlueNormals {
return (new attackPart(f)); return (new attackPart(f));
} }
private static attackPart blueForwardDactive() { protected static attackPart blueForwardDactive() {
Frame[] f = new Frame[4]; Frame[] f = new Frame[4];
for (int i = 0; i < f.length; i++) { for (int i = 0; i < f.length; i++) {
f[i] = ForwardDFrame3(); f[i] = ForwardDFrame3();
@ -1411,7 +1445,7 @@ public class BlueNormals {
return(new attackPart(30,0,5,5,0,0,f,false,true,false)); return(new attackPart(30,0,5,5,0,0,f,false,true,false));
} }
private static attackPart blueForwardDactive2() { protected static attackPart blueForwardDactive2() {
Frame[] f = new Frame[3]; Frame[] f = new Frame[3];
for (int i = 0; i < f.length; i++) { for (int i = 0; i < f.length; i++) {
f[i] = ForwardDFrame4(); f[i] = ForwardDFrame4();

View File

@ -138,6 +138,10 @@ public class attackPart {
this.knockbackOnHit = aP.getKnockbackOnHit(); this.knockbackOnHit = aP.getKnockbackOnHit();
this.knockbackOnBlock = aP.getKnockbackOnBlock(); this.knockbackOnBlock = aP.getKnockbackOnBlock();
this.damage = aP.getDamage(); this.damage = aP.getDamage();
this.isLow = aP.isLow();
this.isOverHead = aP.isOverHead();
this.knocksDown = aP.knocksDown();
if(this.frames.length >= 1) {this.frames[this.frames.length -1].setLastFrameOfHit(true);}
} }
public boolean isHasHit() { public boolean isHasHit() {

View File

@ -225,4 +225,17 @@ public class Frame {
public int[] getSprite() { public int[] getSprite() {
return sprite; return sprite;
} }
/**
* This becomes a clone of a given frame, except for the movement data.
* Usueful for jump attack
* @param f the frame to clone
*/
public void cloneWithoutMovement(Frame f) {
double moveX = this.move_x;
double moveY = this.move_y;
this.clone(f);
this.setMove_x(moveX);
this.setMove_y(moveY);
}
} }

View File

@ -1,5 +1,7 @@
package gameplay.frames; package gameplay.frames;
import java.util.ArrayList;
/** /**
* This will handle the next frames to be played by each entity. * This will handle the next frames to be played by each entity.
* @author Victor Azra * @author Victor Azra
@ -22,8 +24,21 @@ public class nextFrameBuffer {
} }
public void clone(nextFrameBuffer f) { public void clone(nextFrameBuffer f) {
this.current = f.current;
this.next = f.next; try{
Frame cf = new Frame();
cf.clone(f.current);
this.current = cf; }
catch (NullPointerException n) {
this.current = null;
this.next = null;
}
nextFrameBuffer nfb = new nextFrameBuffer();
try {
nfb.clone(f.next);
} catch (NullPointerException n) {}
this.next = nfb;
} }
public void setNext(nextFrameBuffer f) { public void setNext(nextFrameBuffer f) {
@ -76,4 +91,25 @@ public class nextFrameBuffer {
} }
} }
/**
* Copies the same amount of frames from f in this, as the amount originally present, but keepsoriginal move data
* @param f frames array to copy
*/
public void changeFramesExceptForMove(ArrayList<Frame> f) {
int i = 0;
boolean goOn = true;
nextFrameBuffer fb = new nextFrameBuffer();
fb.clone(this);
this.emptyQueue();
try{fb.goToNext();} catch(NullPointerException e) {goOn = false;}
while(goOn && i < f.size()) {
try{
fb.current.cloneWithoutMovement(f.get(i));
this.addFrameToQueue(fb.current);
fb.goToNext();
i++;
} catch(NullPointerException e) { goOn = false;}
}
}
} }

View File

@ -18,6 +18,7 @@ import gameplay.actions.Throw;
import gameplay.actions.ThrowPart; import gameplay.actions.ThrowPart;
import gameplay.entities.Status; import gameplay.entities.Status;
import gameplay.frames.Frame; import gameplay.frames.Frame;
import gameplay.frames.nextFrameBuffer;
import gameplay.hitboxes.*; import gameplay.hitboxes.*;
import gameplay.input.InputBuffer; import gameplay.input.InputBuffer;
import gameplay.entities.Character; import gameplay.entities.Character;
@ -81,9 +82,10 @@ public class match {
private static UIElementText timerUI; private static UIElementText timerUI;
private static UIElementText fpsCounter; private static UIElementText fpsCounter;
private static UIInputList inputListP1; private static UIInputList inputListP1;
private static UIElementText roundWon;
// Debug // Debug
public static boolean showP1Hitbox = false; public static boolean showP1Hitbox = false; // TODO modifier pour le rendre activable
public static boolean showP2Hitbox = false; public static boolean showP2Hitbox = false;
private static List<Hitbox> listHitboxObj = new ArrayList<>(); private static List<Hitbox> listHitboxObj = new ArrayList<>();
private static float slowFactor = 1f; private static float slowFactor = 1f;
@ -128,14 +130,43 @@ public class match {
* Ends the round. * Ends the round.
* Used for playing animations and such. * Used for playing animations and such.
* TODO : Implement this once we know what to do. * TODO : Implement this once we know what to do.
* @throws InterruptedException
*/ */
private static void endRound() { private static void endRound() throws InterruptedException {
if(roundP1) { if(roundP1) {
//texte de victoire
System.out.println("P1 won the round"); System.out.println("P1 won the round");
roundWon = new UIElementText("Player1 won the round", 5f, 0.25f, 0.5f, 100f, engine);
roundWon.setBackground(new Vector3f(0f,0f,0f));
engine.add_uiElement(roundWon);
engine.update();
engine.render();
Thread.sleep(1000);
engine.remove_uiElement(roundWon);
//replacement des sprites
objP1.translate(new Vector3f(-p1.getPosX(), -p1.getPosY()));
objP2.translate(new Vector3f(-p2.getPosX(), -p2.getPosY()));
objP1.getShadow().translate(new Vector3f(0f,-p1.getPosY(),0));
objP2.getShadow().translate(new Vector3f(0f,-p2.getPosY(),0));
} }
else { else {
//texte de victoire
System.out.println("P2 won the round"); System.out.println("P2 won the round");
roundWon = new UIElementText("Player2 won the round", 5f, 0.25f, 0.5f, 100f, engine);
roundWon.setBackground(new Vector3f(0f,0f,0f));
engine.add_uiElement(roundWon);
engine.update();
engine.render();
Thread.sleep(1000);
engine.remove_uiElement(roundWon);
//replacement des sprites
objP1.translate(new Vector3f(-p1.getPosX(), -p1.getPosY()));
objP2.translate(new Vector3f(-p2.getPosX(), -p2.getPosY()));
objP1.getShadow().translate(new Vector3f(0f,-p1.getPosY(),0));
objP2.getShadow().translate(new Vector3f(0f,-p2.getPosY(),0));
} }
} }
@ -298,7 +329,7 @@ public class match {
} }
private static void ac(int i) { private static void ac(int i) throws InterruptedException {
// System.out.println(i); // System.out.println(i);
switch (i) { switch (i) {
@ -493,6 +524,12 @@ public class match {
&& ((atk.isSpecial() && c.getCurrentframe().isSpecialCancellable()) && ((atk.isSpecial() && c.getCurrentframe().isSpecialCancellable())
|| (!atk.isSpecial() && c.getCurrentframe().isNormalCancellable())); || (!atk.isSpecial() && c.getCurrentframe().isNormalCancellable()));
if(attackIsPossible) { if(attackIsPossible) {
if(c.getStatus() == Status.JUMPING) {
nextFrameBuffer nJumpFb = new nextFrameBuffer();
nJumpFb.clone(c.getFrames());
nJumpFb.changeFramesExceptForMove(atk.getFrame());
c.setFrames(nJumpFb);
}
c.clearNextFrames(); c.clearNextFrames();
c.addNextFramesList(atk.getFrame()); c.addNextFramesList(atk.getFrame());
c.setAttackPartsArray(atk.getParts()); c.setAttackPartsArray(atk.getParts());