diff --git a/src/carte/CarteLieu.java b/src/carte/CarteLieu.java index 9f664e8..a94317b 100644 --- a/src/carte/CarteLieu.java +++ b/src/carte/CarteLieu.java @@ -9,8 +9,6 @@ import main.Joueur; public class CarteLieu extends CarteEffet{ - - private List listeJoueurs; private Point coordinates; private CarteLieu voisin; diff --git a/src/main/Joueur.java b/src/main/Joueur.java index fa58d9f..bfbef64 100644 --- a/src/main/Joueur.java +++ b/src/main/Joueur.java @@ -108,7 +108,6 @@ public class Joueur { if(blessure > 0) { - j2.addToStat(PLAYER_HP, -blessure); this.cartePersonnage.attaquer(j2, blessure); } } @@ -195,4 +194,9 @@ public class Joueur { return this.carteLieu; } + public void setRevele(boolean b) { + this.revele = true; + + } + } diff --git a/src/personnage/Allie.java b/src/personnage/Allie.java index 1f0637d..c0f511e 100644 --- a/src/personnage/Allie.java +++ b/src/personnage/Allie.java @@ -40,16 +40,9 @@ public class Allie extends Unique{ */ public void utiliser() { - if(!this.isCapaciteUsed()) { + if(this.getJoueur().getRevele() && !this.isCapaciteUsed()) { this.getEffet().utiliser(this.getJoueur()); this.setCapaciteUsed(true); } } - - @Override - public void attaquer(Joueur j, int blessure) { - - - } - } diff --git a/src/personnage/Bob.java b/src/personnage/Bob.java index b953c8e..32c17e0 100644 --- a/src/personnage/Bob.java +++ b/src/personnage/Bob.java @@ -8,8 +8,8 @@ import main.Joueur; public class Bob extends CartePersonnage{ - public Bob(String nom, String desc ,int hp, Joueur joueur) throws Exception { - super(nom,desc, hp, joueur); + public Bob(Joueur joueur){ + super("BOB","desc", 10, joueur); Condition condition = new ConditionStatistiques(ConditionStatistiques.JOUEUR, Joueur.PLAYER_NB_EQUIPEMENTS, 5, ConditionStatistiques.MORE); this.setCondition(condition); @@ -19,25 +19,24 @@ public class Bob extends CartePersonnage{ } @Override - public void attaquer(Joueur j, int attaque) { + public void attaquer(Joueur j, int blessure) { - if(attaque >= 2 && j.getRevele()) { + if(blessure >= 2 && j.getRevele()) { Joueur thisJoueur = this.getJoueur(); if(thisJoueur.choisir()) { ((EffetTarget)this.getEffet()).setTarget(j); utiliser(); + }else { + super.attaquer(j, blessure); } - } + } } @Override public void utiliser() { Joueur j = this.getJoueur(); this.getEffet().utiliser(j); - } - - - + } } diff --git a/src/personnage/CartePersonnage.java b/src/personnage/CartePersonnage.java index 724ad2c..b3519f3 100644 --- a/src/personnage/CartePersonnage.java +++ b/src/personnage/CartePersonnage.java @@ -12,11 +12,14 @@ public abstract class CartePersonnage extends CarteCondition { super(nom, description); this.pv = pv; this.joueur = joueur; + joueur.setCartePersonnage(this); } public abstract void utiliser(); - public abstract void attaquer(Joueur j, int blessure); + public void attaquer(Joueur j, int blessure) { + j.addToStat(Joueur.PLAYER_HP, -blessure); + } public boolean victoire(){ return this.getCondition().isTrue(this.joueur); diff --git a/src/personnage/Charles.java b/src/personnage/Charles.java index d451a68..092d344 100644 --- a/src/personnage/Charles.java +++ b/src/personnage/Charles.java @@ -18,14 +18,17 @@ public class Charles extends CartePersonnage{ } + @Override public void attaquer(Joueur j, int blessure) { - if(this.getJoueur().getRevele()){ + Joueur joueur = this.getJoueur(); + super.attaquer(j, blessure); - // TODO Choisir effet + if(joueur.getStat(Joueur.PLAYER_HP) > 2 && joueur.getRevele()){ + Plateau p = j.getPlateau(); utiliser(); - p.attaquer(this.getJoueur(), j); + p.attaquer(this.getJoueur(), j); } } diff --git a/src/personnage/Daniel.java b/src/personnage/Daniel.java index f786c6d..f118d37 100644 --- a/src/personnage/Daniel.java +++ b/src/personnage/Daniel.java @@ -34,13 +34,7 @@ public class Daniel extends CartePersonnage{ @Override public void utiliser() { - // TODO Listener mort - + this.getJoueur().setRevele(true); } - @Override - public void attaquer(Joueur j, int blessure) { - // TODO Auto-generated method stub - - } } diff --git a/src/personnage/Emi.java b/src/personnage/Emi.java index 406915f..c54ff3c 100644 --- a/src/personnage/Emi.java +++ b/src/personnage/Emi.java @@ -11,7 +11,7 @@ public class Emi extends CartePersonnage{ this.setCondition(new WinConditionHunter()); } - //m�thode + public void deplacer() { } @@ -21,11 +21,4 @@ public class Emi extends CartePersonnage{ // TODO Auto-generated method stub } - - @Override - public void attaquer(Joueur j, int blessure) { - // TODO Auto-generated method stub - - } - } diff --git a/src/personnage/Franklin.java b/src/personnage/Franklin.java index dc7c336..4cded18 100644 --- a/src/personnage/Franklin.java +++ b/src/personnage/Franklin.java @@ -6,7 +6,6 @@ import main.Plateau; public class Franklin extends Unique{ - //constructeur public Franklin(String nom, int hp, Joueur joueur) { super(nom, nom, hp, joueur); this.setCondition(new WinConditionHunter()); @@ -22,13 +21,13 @@ public class Franklin extends Unique{ public void utiliser() { Joueur joueur = this.getJoueur(); - if(this.isCapaciteUsed() && joueur.getRevele()) { + if(!this.isCapaciteUsed() && joueur.getRevele()) { Plateau p = joueur.getPlateau(); int roll = p.roll6(); Joueur joueur2 = joueur.choisirTous(); - joueur2.addToStat(Joueur.PLAYER_HP, -roll); + super.attaquer(joueur2, roll); } } diff --git a/src/personnage/Georges.java b/src/personnage/Georges.java index cf96034..25a756a 100644 --- a/src/personnage/Georges.java +++ b/src/personnage/Georges.java @@ -21,13 +21,13 @@ public class Georges extends Unique{ public void utiliser() { Joueur joueur = this.getJoueur(); - if(this.isCapaciteUsed() && joueur.getRevele()) { + if(!this.isCapaciteUsed() && joueur.getRevele()) { Plateau p = joueur.getPlateau(); int roll = p.roll4(); Joueur joueur2 = joueur.choisirTous(); - joueur2.addToStat(Joueur.PLAYER_HP, -roll); + super.attaquer(joueur2, roll); } } diff --git a/src/personnage/LoupGarou.java b/src/personnage/LoupGarou.java index 6cfcaa3..7812c76 100644 --- a/src/personnage/LoupGarou.java +++ b/src/personnage/LoupGarou.java @@ -4,27 +4,16 @@ import condition.WinConditionShadow; import main.Joueur; public class LoupGarou extends CartePersonnage { - //constructeur + public LoupGarou(String nom, String desc ,int hp, Joueur joueur) { super(nom,desc, hp, joueur); this.setCondition(new WinConditionShadow()); } - - //m�thodes - public void contreAttaquer(Joueur j) { - } - @Override public void utiliser() { // TODO Auto-generated method stub } - - @Override - public void attaquer(Joueur j, int blessure) { - // TODO Auto-generated method stub - - } } diff --git a/src/personnage/Metamorphe.java b/src/personnage/Metamorphe.java index e79b538..b2a0d0b 100644 --- a/src/personnage/Metamorphe.java +++ b/src/personnage/Metamorphe.java @@ -15,11 +15,4 @@ public class Metamorphe extends CartePersonnage{ // TODO Auto-generated method stub } - - @Override - public void attaquer(Joueur j, int blessure) { - // TODO Auto-generated method stub - - } - } diff --git a/src/personnage/Unique.java b/src/personnage/Unique.java index 0548c11..f82808a 100644 --- a/src/personnage/Unique.java +++ b/src/personnage/Unique.java @@ -10,9 +10,7 @@ public abstract class Unique extends CartePersonnage{ super(nom,desc, hp, joueur); } - - - + public boolean isCapaciteUsed() { return capaciteUsed; } @@ -20,11 +18,4 @@ public abstract class Unique extends CartePersonnage{ public void setCapaciteUsed(boolean capaciteUsed) { this.capaciteUsed = capaciteUsed; } - - @Override - public void utiliser() { - // TODO Auto-generated method stub - - } - } diff --git a/src/personnage/Vampire.java b/src/personnage/Vampire.java index 583438d..5203396 100644 --- a/src/personnage/Vampire.java +++ b/src/personnage/Vampire.java @@ -33,6 +33,7 @@ public class Vampire extends CartePersonnage{ */ public void attaquer(Joueur j, int blessure) { + super.attaquer(j, blessure); if(this.getJoueur().getRevele()) { utiliser(this.getJoueur()); diff --git a/tests/condition/ConditionClassPersonnageTest.java b/tests/condition/ConditionClassPersonnageTest.java index fd22033..2c8cf8d 100644 --- a/tests/condition/ConditionClassPersonnageTest.java +++ b/tests/condition/ConditionClassPersonnageTest.java @@ -36,7 +36,7 @@ class ConditionClassPersonnageTest { assertTrue(cc.isTrue(j)); - CartePersonnage cp2 = new Bob(null, null, 0, j); + CartePersonnage cp2 = new Bob(j); // Le personnage ne fait pas partie des classes j.setCartePersonnage(cp2); assertFalse(cc.isTrue(j)); diff --git a/tests/effet/action/ActionAttaquerTest.java b/tests/effet/action/ActionAttaquerTest.java index 9bcdbbc..52f46c8 100644 --- a/tests/effet/action/ActionAttaquerTest.java +++ b/tests/effet/action/ActionAttaquerTest.java @@ -4,13 +4,13 @@ import static org.junit.Assert.assertTrue; import java.util.ArrayList; import java.util.List; -import java.util.Random; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import main.Joueur; import main.Plateau; +import personnage.Allie; class ActionAttaquerTest { @@ -25,6 +25,9 @@ class ActionAttaquerTest { j1 = new Joueur("Michel"); j2 = new Joueur("Gérard"); + Allie allie1 = new Allie(j1); + Allie allie2 = new Allie(j2); + joueurs.add(j1); joueurs.add(j2); @@ -67,5 +70,4 @@ class ActionAttaquerTest { assertTrue(Math.abs(countNb-80) <= error); } } - }