diff --git a/MAVENProject/PlanUML.puml b/MAVENProject/PlanUML.puml index 420778b6492ea7ce870b8872cf465efe05bed5cf..410976e1efd1675073f0aff6ccb0c7fd88a9649a 100644 --- a/MAVENProject/PlanUML.puml +++ b/MAVENProject/PlanUML.puml @@ -172,6 +172,18 @@ class entity.Kunai(){ + public int getHeight() } +class entity.Hearth{ + - HitBox hitBox + - Coordonnees coord + - int width + - int height + - void heal + - HitBox getHitBox + - int getWidth + - int getHeight + + static void evolveHearths +} + class environment.Obstacle{ } diff --git a/MAVENProject/src/main/java/entity/Boss.java b/MAVENProject/src/main/java/entity/Boss.java index 7f9ff086c09b826d2d7d8d5ff0a10a085c3827dc..eed2e60823fff0a62d555b1f034d0c7bb36eac15 100644 --- a/MAVENProject/src/main/java/entity/Boss.java +++ b/MAVENProject/src/main/java/entity/Boss.java @@ -42,7 +42,6 @@ public class Boss extends Monster{ if (impulsionSaut != 0){ newZ = newZ - impulsionSaut/2*delta*delta; - System.out.println(newZ-coord.getZ()); vitesseActuZ = vitesseActuZ - 8*impulsionSaut*delta; } @@ -76,7 +75,6 @@ public class Boss extends Monster{ for (int i=0;i<collisionsPresentes.size();i++){ //si on trouve on sort de la boucle (pas besoin d'aller plus loin), on n'étudie qui si on ne donne pas de commande if (impulsionSaut != 0){ - System.out.println("coucou"); break; } if (collisionsPresentes.get(listeObstaclesInVoisinage.get(i)) == BAS){ diff --git a/MAVENProject/src/main/java/entity/Entity.java b/MAVENProject/src/main/java/entity/Entity.java index 5c2ccb170c4c15306abbd68583411b706da69cba..780eb6f52b031e5041c055e23f23fcd280523b8f 100644 --- a/MAVENProject/src/main/java/entity/Entity.java +++ b/MAVENProject/src/main/java/entity/Entity.java @@ -18,7 +18,7 @@ public abstract class Entity { final double vitesseMax; HitBox hitBox; int attackStat; // nb de pv enleves par attaque - int maxLifePoints = 10; + int maxLifePoints = 5; int nbLifePoints = maxLifePoints; final double entityWIDTH; final double entityHEIGHT; diff --git a/MAVENProject/src/main/java/entity/ShootingCharacter.java b/MAVENProject/src/main/java/entity/ShootingCharacter.java index dbf6a1057e980a2044d32fddd7d9c4ca9539827e..d7f547c9913ef0b30deedf85bd57c8781b1cf878 100644 --- a/MAVENProject/src/main/java/entity/ShootingCharacter.java +++ b/MAVENProject/src/main/java/entity/ShootingCharacter.java @@ -8,16 +8,20 @@ import jeu.Jeu; public class ShootingCharacter extends Character{ private int hasAttacked = 0; //varialbe disant si il a deja attaque, il ne peut attaque que toutes les deux frames, ainsi il ne peut attaquer que si = 0 + private int stockMaxKunai = 10; + private int stockKunai = stockMaxKunai; + private int kunaiReloading = 0; //temps de rechargement des kunais public ShootingCharacter(Coordonnees c, double vitesseMax, double m, double impSaut){ super(c, vitesseMax, m, impSaut); } public void attaque(){ - if (this.getTableCommande().get("CommandAttack") != 0 && hasAttacked == 0){ //on ajoute un kunai dans la liste + if (this.getTableCommande().get("CommandAttack") != 0 && hasAttacked == 0 && stockKunai > 0){ //on ajoute un kunai dans la liste List<Kunai> temp = Jeu.getKunaiList(); Coordonnees coordKunai = new Coordonnees(coord.getX() + (direction * (double) Kunai.getWidth() / 2) + ((direction * this.getEntityWIDTH()) / 2), coord.getZ()); temp.add(new Kunai(direction, attackStat, coordKunai)); Jeu.setKunaiList(temp); + stockKunai--; hasAttacked++; } } @@ -28,5 +32,12 @@ public class ShootingCharacter extends Character{ hasAttacked++; if (hasAttacked > 50)hasAttacked = 0; } + if (kunaiReloading == 299){//si on a passe les temps de rechargement d un kunai + stockKunai = Math.min(stockKunai+1, stockMaxKunai); + } + kunaiReloading = (kunaiReloading+1)%300; + if (stockKunai == stockMaxKunai) { //pour apprecier la duree de rechargement totale + System.out.println("yo"); + } } }