From 7d1090bf8b810ca9229f989eb6fc7be8587059f0 Mon Sep 17 00:00:00 2001 From: Paul Gross Date: Sat, 18 Apr 2020 19:39:59 +0200 Subject: [PATCH] =?UTF-8?q?Ajout=20de=20fonctionnalit=C3=A9s=20main,=20pio?= =?UTF-8?q?che?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/carte/CartePiochable.java | 5 +---- src/condition/WinConditionHunter.java | 16 ++++++++++++++++ src/condition/WinConditionShadow.java | 16 ++++++++++++++++ src/main/CartePiochable.java | 7 ------- src/main/Joueur.java | 6 +++--- src/main/Pioche.java | 19 ++++++++++++++----- src/main/TypeTenebre.java | 2 +- src/personnage/Allie.java | 4 ++-- src/personnage/Bob.java | 11 +++++++++-- src/personnage/Charles.java | 10 +++------- src/personnage/Daniel.java | 3 ++- src/personnage/Emi.java | 8 ++------ src/personnage/Franklin.java | 9 ++------- src/personnage/Georges.java | 10 ++-------- src/personnage/LoupGarou.java | 15 +++------------ src/personnage/Metamorphe.java | 15 ++------------- src/personnage/Vampire.java | 15 +++------------ 17 files changed, 81 insertions(+), 90 deletions(-) create mode 100644 src/condition/WinConditionHunter.java create mode 100644 src/condition/WinConditionShadow.java delete mode 100644 src/main/CartePiochable.java diff --git a/src/carte/CartePiochable.java b/src/carte/CartePiochable.java index 637f645..cdccbab 100644 --- a/src/carte/CartePiochable.java +++ b/src/carte/CartePiochable.java @@ -3,14 +3,11 @@ package carte; import main.Joueur; import main.Type; -public class CartePiochable extends CarteCondition implements Type{ +public class CartePiochable extends CarteCondition{ - - public void utiliser(Joueur j) { super.utiliser(j); } - } diff --git a/src/condition/WinConditionHunter.java b/src/condition/WinConditionHunter.java new file mode 100644 index 0000000..30a8068 --- /dev/null +++ b/src/condition/WinConditionHunter.java @@ -0,0 +1,16 @@ +package condition; + +import main.Joueur; +import main.Plateau; + +public class WinConditionHunter extends Condition{ + + @Override + public boolean isTrue(Joueur j) + { + int nbShadow = j.getPlateau().getStat(Plateau.NB_SHADOWS); + Condition winCondition = new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS_SHADOW, nbShadow, ConditionStatistiques.MORE); + return winCondition.isTrue(j); + } + +} diff --git a/src/condition/WinConditionShadow.java b/src/condition/WinConditionShadow.java new file mode 100644 index 0000000..614b3ba --- /dev/null +++ b/src/condition/WinConditionShadow.java @@ -0,0 +1,16 @@ +package condition; + +import main.Joueur; +import main.Plateau; + +public class WinConditionShadow extends Condition{ + + @Override + public boolean isTrue(Joueur j) + { + int nbHunter = j.getPlateau().getStat(Plateau.NB_HUNTERS); + Condition winCondition = new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS_HUNTER, nbHunter, ConditionStatistiques.MORE); + return winCondition.isTrue(j); + } + +} diff --git a/src/main/CartePiochable.java b/src/main/CartePiochable.java deleted file mode 100644 index 2374760..0000000 --- a/src/main/CartePiochable.java +++ /dev/null @@ -1,7 +0,0 @@ -package main; - -import carte.Carte; - -public class CartePiochable extends Carte { - -} diff --git a/src/main/Joueur.java b/src/main/Joueur.java index 06f6a10..454ef42 100644 --- a/src/main/Joueur.java +++ b/src/main/Joueur.java @@ -3,7 +3,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; -import carte.CarteLieu; import effet.Effet; @@ -18,10 +17,11 @@ public class Joueur { // map keys public static final String PLAYER_HP = "hp"; public static final String PLAYER_TURN = "turn"; - public static final String PLYAYER_DAMAGE = "damage"; + public static final String PLAYER_DAMAGE = "damage"; public static final String PLAYER_RESISTANCE = "resistance"; public static final String PLAYER_REVEAL = "reveal"; public static final String PLAYER_IMMUNITY = "immunity"; + public static final String PLAYER_NB_EQUIPEMENTS = "nb_equipements"; private Map stats; @@ -67,7 +67,7 @@ public class Joueur { return null; } - public List getEquipements() { + public Equipement[] getEquipements() { // TODO Auto-generated method stub return null; } diff --git a/src/main/Pioche.java b/src/main/Pioche.java index accaded..15a1793 100644 --- a/src/main/Pioche.java +++ b/src/main/Pioche.java @@ -1,13 +1,22 @@ package main; import java.util.Collections; -import java.util.List; +import java.util.Stack; -public class Pioche { - private List cartesPiochables; +import carte.CartePiochable; + +public class Pioche { - public CartePiochable piocher() { + private Stack> cartesPiochables; + + + public void melanger() + { Collections.shuffle(cartesPiochables); - return cartesPiochables.get(0); + } + + public CartePiochable piocher() { + + return cartesPiochables.pop(); } } diff --git a/src/main/TypeTenebre.java b/src/main/TypeTenebre.java index 50c5032..6693fce 100644 --- a/src/main/TypeTenebre.java +++ b/src/main/TypeTenebre.java @@ -1,5 +1,5 @@ package main; -public class TypeTenebre { +public class TypeTenebre implements Type{ } diff --git a/src/personnage/Allie.java b/src/personnage/Allie.java index 8224ae9..9a96dcd 100644 --- a/src/personnage/Allie.java +++ b/src/personnage/Allie.java @@ -12,8 +12,8 @@ import main.Plateau; public class Allie extends Unique{ - public Allie(String nom, int hp, Joueur joueur,boolean capaciteUsed) { - super(nom, hp, joueur, capaciteUsed); + public Allie(String nom, int hp, Joueur joueur) { + super(nom, hp, joueur); Action action = new ActionAltererStatistiquesJoueur("HP",this.getPv(),false); Effet effet = new EffetSelf(action); diff --git a/src/personnage/Bob.java b/src/personnage/Bob.java index 56e209f..e698b4c 100644 --- a/src/personnage/Bob.java +++ b/src/personnage/Bob.java @@ -1,14 +1,21 @@ package personnage; import condition.Condition; +import condition.ConditionStatistiques; import main.Joueur; public class Bob extends CartePersonnage{ - public Bob(String nom, int hp, Joueur joueur, Condition condition,boolean capaciteUsed) { - super(nom, hp, joueur, condition); + public Bob(String nom, int hp, Joueur joueur) { + super(nom, hp, joueur); + Condition condition = new ConditionStatistiques(ConditionStatistiques.JOUEUR, Joueur.PLAYER_NB_EQUIPEMENTS, 5, ConditionStatistiques.MORE); + this.setCondition(condition); } + @Override + public void utiliser(Joueur j){ + + } public void attaquer(Joueur j) { diff --git a/src/personnage/Charles.java b/src/personnage/Charles.java index 8b89cf0..37263f1 100644 --- a/src/personnage/Charles.java +++ b/src/personnage/Charles.java @@ -1,19 +1,15 @@ package personnage; -import condition.Condition; import main.Joueur; public class Charles extends CartePersonnage{ - //attributs - private boolean capaciteUsed; //constructeur - public Charles(String nom, int hp, Joueur joueur,Condition condition,boolean capaciteUsed) { - super(nom, hp, joueur, condition); - this.capaciteUsed=capaciteUsed; + public Charles(String nom, int hp, Joueur joueur) { + super(nom, hp, joueur); } - //méthode + //m�thode public void attaquer(Joueur j) { } diff --git a/src/personnage/Daniel.java b/src/personnage/Daniel.java index 04a569c..7526068 100644 --- a/src/personnage/Daniel.java +++ b/src/personnage/Daniel.java @@ -4,6 +4,7 @@ import condition.Condition; import condition.ConditionMultiple; import condition.ConditionMultipleOR; import condition.ConditionStatistiques; +import condition.WinConditionHunter; import main.Joueur; import main.Plateau; @@ -22,7 +23,7 @@ public class Daniel extends CartePersonnage{ ,new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS, 1, ConditionStatistiques.LESS) ) // Shadows morts - ,new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS_SHADOW, nbShadow, ConditionStatistiques.MORE) + ,new WinConditionHunter() ); this.setCondition(winCondition); } diff --git a/src/personnage/Emi.java b/src/personnage/Emi.java index 184dac6..7e8991d 100644 --- a/src/personnage/Emi.java +++ b/src/personnage/Emi.java @@ -1,18 +1,14 @@ package personnage; -import condition.Condition; -import condition.ConditionStatistiques; +import condition.WinConditionHunter; import main.Joueur; -import main.Plateau; public class Emi extends CartePersonnage{ //constructeur public Emi(String nom, int hp, Joueur joueur) { super(nom, hp, joueur); - int nbShadow = joueur.getPlateau().getStat(Plateau.NB_SHADOWS); - Condition winCondition = new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS_SHADOW, nbShadow, ConditionStatistiques.MORE); - this.setCondition(winCondition); + this.setCondition(new WinConditionHunter()); } //m�thode diff --git a/src/personnage/Franklin.java b/src/personnage/Franklin.java index de94f78..efbdf9e 100644 --- a/src/personnage/Franklin.java +++ b/src/personnage/Franklin.java @@ -1,19 +1,14 @@ package personnage; -import condition.Condition; -import condition.ConditionStatistiques; +import condition.WinConditionHunter; import main.Joueur; -import main.Plateau; public class Franklin extends Unique{ //constructeur public Franklin(String nom, int hp, Joueur joueur) { super(nom, hp, joueur); - int nbShadow = joueur.getPlateau().getStat(Plateau.NB_SHADOWS); - Condition winCondition = new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS_SHADOW, nbShadow, ConditionStatistiques.MORE); - this.setCondition(winCondition); - + this.setCondition(new WinConditionHunter()); } //m�thode diff --git a/src/personnage/Georges.java b/src/personnage/Georges.java index 501d119..3947728 100644 --- a/src/personnage/Georges.java +++ b/src/personnage/Georges.java @@ -1,20 +1,14 @@ package personnage; -import condition.Condition; -import condition.ConditionStatistiques; +import condition.WinConditionHunter; import main.Joueur; -import main.Plateau; public class Georges extends Unique{ //constructeur public Georges(String nom, int hp, Joueur joueur) { super(nom, hp, joueur); - - int nbShadow = joueur.getPlateau().getStat(Plateau.NB_SHADOWS); - Condition winCondition = new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS_SHADOW, nbShadow, ConditionStatistiques.MORE); - this.setCondition(winCondition); - + this.setCondition(new WinConditionHunter()); } //m�thode diff --git a/src/personnage/LoupGarou.java b/src/personnage/LoupGarou.java index b7e24e9..4f97ab8 100644 --- a/src/personnage/LoupGarou.java +++ b/src/personnage/LoupGarou.java @@ -1,23 +1,14 @@ package personnage; -import condition.Condition; -import condition.ConditionMultipleOR; -import condition.ConditionStatistiques; +import condition.WinConditionShadow; import main.Joueur; -import main.Plateau; public class LoupGarou extends CartePersonnage { //constructeur public LoupGarou(String nom, int hp, Joueur joueur) { super(nom, hp, joueur); - - int nbHunter = joueur.getPlateau().getStat(Plateau.NB_HUNTERS); - Condition winCondition = new ConditionMultipleOR( - new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS_HUNTER, nbHunter, ConditionStatistiques.MORE) - , - new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS_NEUTRAL, 3, ConditionStatistiques.MORE) - ); - this.setCondition(winCondition); + + this.setCondition(new WinConditionShadow()); } //m�thodes diff --git a/src/personnage/Metamorphe.java b/src/personnage/Metamorphe.java index 69b0a1e..137deae 100644 --- a/src/personnage/Metamorphe.java +++ b/src/personnage/Metamorphe.java @@ -1,24 +1,13 @@ package personnage; -import condition.Condition; -import condition.ConditionMultipleOR; -import condition.ConditionStatistiques; +import condition.WinConditionShadow; import main.Joueur; -import main.Plateau; public class Metamorphe extends CartePersonnage{ public Metamorphe(String nom, int pv, Joueur joueur) { super(nom, pv, joueur); - - - int nbHunter = joueur.getPlateau().getStat(Plateau.NB_HUNTERS); - Condition winCondition = new ConditionMultipleOR( - new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS_HUNTER, nbHunter, ConditionStatistiques.MORE) - , - new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS_NEUTRAL, 3, ConditionStatistiques.MORE) - ); - this.setCondition(winCondition); + this.setCondition(new WinConditionShadow()); } } diff --git a/src/personnage/Vampire.java b/src/personnage/Vampire.java index 5fc45de..ca6fc07 100644 --- a/src/personnage/Vampire.java +++ b/src/personnage/Vampire.java @@ -1,14 +1,12 @@ package personnage; -import condition.Condition; -import condition.ConditionMultipleOR; -import condition.ConditionStatistiques; +import condition.WinConditionShadow; import effet.Action; import effet.ActionAltererStatistiquesJoueur; import effet.Effet; import effet.EffetSelf; import main.Joueur; -import main.Plateau; + public class Vampire extends CartePersonnage{ @@ -18,14 +16,7 @@ public class Vampire extends CartePersonnage{ Action action = new ActionAltererStatistiquesJoueur("HP",2,true); Effet effet = new EffetSelf(action); this.setEffet(effet); - - int nbHunter = joueur.getPlateau().getStat(Plateau.NB_HUNTERS); - Condition winCondition = new ConditionMultipleOR( - new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS_HUNTER, nbHunter, ConditionStatistiques.MORE) - , - new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS_NEUTRAL, 3, ConditionStatistiques.MORE) - ); - this.setCondition(winCondition); + this.setCondition(new WinConditionShadow()); } public void utiliser(Joueur j)