Skip to content
Snippets Groups Projects
Commit b30ba150 authored by Azurlors's avatar Azurlors
Browse files

Update

parent a542c81e
Branches
No related tags found
No related merge requests found
...@@ -9,7 +9,6 @@ import environnement.HitBox; ...@@ -9,7 +9,6 @@ import environnement.HitBox;
import map.Obstacle; import map.Obstacle;
import environnement.Physique; import environnement.Physique;
import jeu.Jeu; import jeu.Jeu;
import jeu.Painter;
public class Character extends Entity{ public class Character extends Entity{
...@@ -130,7 +129,8 @@ public class Character extends Entity{ ...@@ -130,7 +129,8 @@ public class Character extends Entity{
obsMin = obs; obsMin = obs;
} }
} }
}obstacleBeneath = obsMin; }
obstacleBeneath = obsMin;
} }
/*public void checkIfNextToWall(HashMap<String,Boolean> collisionMap){ /*public void checkIfNextToWall(HashMap<String,Boolean> collisionMap){
......
...@@ -47,23 +47,35 @@ public class HitBox { ...@@ -47,23 +47,35 @@ public class HitBox {
public static HashMap<String,Boolean> collisionMap(HitBox A, HitBox B){ // lignes sautées pour raison de lisibilité public static HashMap<String,Boolean> collisionMap(HitBox A, HitBox B){ // lignes sautées pour raison de lisibilité
HashMap<String,Boolean> map = new HashMap<>(); HashMap<String,Boolean> map = new HashMap<>();
Boolean a = !(A.extremites.get("HautGauche").getX() > B.extremites.get("HautDroite").getX()); // A est à droite de B map.put("collision_gauche", false);
Boolean b = !(A.extremites.get("HautDroite").getX() < B.extremites.get("HautGauche").getX()); // A est à gauche de B map.put("collision_droite", false);
Boolean c = !(A.extremites.get("HautGauche").getZ() > B.extremites.get("BasGauche").getZ()); // A est en dessous de B map.put("collision_bas", false);
Boolean d = !(A.extremites.get("BasGauche").getZ() < B.extremites.get("HautGauche").getZ()); // A est au dessus de B map.put("collision_haut", false);
map.put("collision_gauche",a); boolean a = !(A.extremites.get("HautGauche").getX() > B.extremites.get("HautDroite").getX()); // A est à droite de B
map.put("collision_droite",b); boolean b = !(A.extremites.get("HautDroite").getX() < B.extremites.get("HautGauche").getX()); // A est à gauche de B
map.put("collision_bas",c); boolean c = !(A.extremites.get("HautGauche").getZ() > B.extremites.get("BasGauche").getZ()); // A est en dessous de B
map.put("collision_haut",d); boolean d = !(A.extremites.get("BasGauche").getZ() < B.extremites.get("HautGauche").getZ()); // A est au dessus de B
if (a && !d && !c){
map.put("collision_gauche", true);
}
else if (b && !d && !c) {
map.put("collision_droite", true);
}
else if (c && !a && !b) {
map.put("collision_bas", true );
}
else if (d && !a && !b) {
map.put("collision_haut", true);
}
return map; return map;
} }
public static Boolean collision(HitBox A, HitBox B){ public static Boolean collision(HitBox A, HitBox B){
Boolean a = (A.extremites.get("HautGauche").getX() > B.extremites.get("HautDroite").getX()); // A est à droite de B Boolean a = !(A.extremites.get("HautGauche").getX() > B.extremites.get("HautDroite").getX()); // A est à droite de B
Boolean b = (A.extremites.get("HautDroite").getX() < B.extremites.get("HautGauche").getX()); // A est à gauche de B Boolean b = !(A.extremites.get("HautDroite").getX() < B.extremites.get("HautGauche").getX()); // A est à gauche de B
Boolean c = (A.extremites.get("HautGauche").getZ() > B.extremites.get("BasGauche").getZ()); // A est en dessous de B Boolean c = !(A.extremites.get("HautGauche").getZ() > B.extremites.get("BasGauche").getZ()); // A est en dessous de B
Boolean d = (A.extremites.get("BasGauche").getZ() < B.extremites.get("HautGauche").getZ()); // A est au dessus de B Boolean d = !(A.extremites.get("BasGauche").getZ() < B.extremites.get("HautGauche").getZ()); // A est au dessus de B
return (!a && !b && !c && !d); return a && b && c && d;
} }
public HashMap<String, Coordonnees> getExtremites() { public HashMap<String, Coordonnees> getExtremites() {
return extremites; return extremites;
......
package map; package map;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import entity.Entity; import entity.Entity;
import environnement.HitBox; import environnement.HitBox;
import jeu.Jeu; import jeu.Jeu;
...@@ -44,6 +43,7 @@ public class Obstacle { ...@@ -44,6 +43,7 @@ public class Obstacle {
public static Boolean collisionBas(Entity charac){ public static Boolean collisionBas(Entity charac){
HashMap<String,Boolean> collisionMap = HitBox.collisionMap(charac.getHitBox(), charac.getObstacleBeneath().getHitbox()); HashMap<String,Boolean> collisionMap = HitBox.collisionMap(charac.getHitBox(), charac.getObstacleBeneath().getHitbox());
if (charac.getObstacleBeneath() != Jeu.getSol()){ if (charac.getObstacleBeneath() != Jeu.getSol()){
System.out.println("jcxvsfdkjjhsdkghjsdkj");
if (collisionMap.get("collision_droite") && collisionMap.get("collision_gauche") && !collisionMap.get("collision_bas")) { if (collisionMap.get("collision_droite") && collisionMap.get("collision_gauche") && !collisionMap.get("collision_bas")) {
return true; return true;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment