From e5cf88b1a54cb622d08360da5f22f9bafb30d560 Mon Sep 17 00:00:00 2001 From: Hugo Date: Fri, 17 Apr 2020 12:15:07 +0200 Subject: [PATCH 1/2] Ajout du package carte et du corps des classes le compsant --- src/carte/Carte.java | 12 ++++++++ src/carte/CarteCondition.java | 8 ++++++ src/carte/CarteEffet.java | 9 ++++++ src/carte/CarteLieu.java | 17 +++++++++++ src/carte/CarteLieuType.java | 9 ++++++ src/carte/CartePersonnage.java | 52 ++++++++++++++++++++++++++++++++++ src/carte/CartePiochable.java | 5 ++++ src/carte/Condition.java | 7 +++++ src/carte/Equipement.java | 5 ++++ src/carte/Joueur.java | 9 ++++++ src/carte/Type.java | 7 +++++ 11 files changed, 140 insertions(+) create mode 100644 src/carte/Carte.java create mode 100644 src/carte/CarteCondition.java create mode 100644 src/carte/CarteEffet.java create mode 100644 src/carte/CarteLieu.java create mode 100644 src/carte/CarteLieuType.java create mode 100644 src/carte/CartePersonnage.java create mode 100644 src/carte/CartePiochable.java create mode 100644 src/carte/Condition.java create mode 100644 src/carte/Equipement.java create mode 100644 src/carte/Joueur.java create mode 100644 src/carte/Type.java diff --git a/src/carte/Carte.java b/src/carte/Carte.java new file mode 100644 index 0000000..6a06989 --- /dev/null +++ b/src/carte/Carte.java @@ -0,0 +1,12 @@ +package carte; + +public class Carte { + + private String nom; + private String description; + + private void utiliser(Joueur j) { + + } + +} diff --git a/src/carte/CarteCondition.java b/src/carte/CarteCondition.java new file mode 100644 index 0000000..9b81b01 --- /dev/null +++ b/src/carte/CarteCondition.java @@ -0,0 +1,8 @@ +package carte; + +public abstract class CarteCondition extends CarteEffet{ + + private Condition condition; + + +} diff --git a/src/carte/CarteEffet.java b/src/carte/CarteEffet.java new file mode 100644 index 0000000..efab50b --- /dev/null +++ b/src/carte/CarteEffet.java @@ -0,0 +1,9 @@ +package carte; + +public abstract class CarteEffet extends Carte{ + + public void utiliser(Joueur j) { + + } + +} diff --git a/src/carte/CarteLieu.java b/src/carte/CarteLieu.java new file mode 100644 index 0000000..99fc71a --- /dev/null +++ b/src/carte/CarteLieu.java @@ -0,0 +1,17 @@ +package carte; + +import java.util.List; + +public class CarteLieu extends CarteEffet{ + + private Type field; + + // Liste des joueurs actuellement présent sur le lieu + private List listeJoueur; + + + public void utiliser(Joueur j) { + + } + +} diff --git a/src/carte/CarteLieuType.java b/src/carte/CarteLieuType.java new file mode 100644 index 0000000..6cfac2d --- /dev/null +++ b/src/carte/CarteLieuType.java @@ -0,0 +1,9 @@ +package carte; + +public class CarteLieuType extends CarteLieu{ + + public void utiliser(Joueur j) { + + } + +} diff --git a/src/carte/CartePersonnage.java b/src/carte/CartePersonnage.java new file mode 100644 index 0000000..17669c5 --- /dev/null +++ b/src/carte/CartePersonnage.java @@ -0,0 +1,52 @@ +package carte; + +public class CartePersonnage extends CarteCondition{ + + private String NOM; + private int HP; + private Joueur joueur; + + public void tour() { + + } + + /* + * @param j + * + */ + public void utiliser(Joueur j) { + + } + + /* + * @param j + * Le joueur que l'on souhaite attaquer + */ + public void attaquer(Joueur j) { + + } + + public boolean victoire() { + return true; + } + + + public Joueur getJoueur() { + return joueur; + } + + + /* + * @param j + * + */ + public Joueur setJoueur(Joueur j) { + this.joueur = j; + return joueur; + } + + public void deplacer() { + + } + +} diff --git a/src/carte/CartePiochable.java b/src/carte/CartePiochable.java new file mode 100644 index 0000000..8b63a93 --- /dev/null +++ b/src/carte/CartePiochable.java @@ -0,0 +1,5 @@ +package carte; + +public class CartePiochable { + +} diff --git a/src/carte/Condition.java b/src/carte/Condition.java new file mode 100644 index 0000000..6bc5534 --- /dev/null +++ b/src/carte/Condition.java @@ -0,0 +1,7 @@ +package carte; + +public class Condition { + + + +} diff --git a/src/carte/Equipement.java b/src/carte/Equipement.java new file mode 100644 index 0000000..2a29b71 --- /dev/null +++ b/src/carte/Equipement.java @@ -0,0 +1,5 @@ +package carte; + +public class Equipement { + +} diff --git a/src/carte/Joueur.java b/src/carte/Joueur.java new file mode 100644 index 0000000..e40b288 --- /dev/null +++ b/src/carte/Joueur.java @@ -0,0 +1,9 @@ +package carte; + +public class Joueur { + + + public void utiliser() { + + } +} diff --git a/src/carte/Type.java b/src/carte/Type.java new file mode 100644 index 0000000..fd145e6 --- /dev/null +++ b/src/carte/Type.java @@ -0,0 +1,7 @@ +package carte; + +public interface Type { + + + +} From dda437e265f7c07469672b23af674580ad540529 Mon Sep 17 00:00:00 2001 From: Paul Gross Date: Fri, 17 Apr 2020 12:27:52 +0200 Subject: [PATCH 2/2] Ajout des classes conditions --- src/condition/Condition.java | 6 ++- src/condition/ConditionClass.java | 31 +++++++++++++++ src/condition/ConditionMultiple.java | 44 ++++++++++++++++++++++ src/condition/ConditionMultipleOR.java | 25 ++++++++++++ tests/condition/ConditionMultipleTest.java | 29 ++++++++++++++ 5 files changed, 133 insertions(+), 2 deletions(-) create mode 100644 src/condition/ConditionClass.java create mode 100644 src/condition/ConditionMultiple.java create mode 100644 src/condition/ConditionMultipleOR.java create mode 100644 tests/condition/ConditionMultipleTest.java diff --git a/src/condition/Condition.java b/src/condition/Condition.java index 39357cc..945e546 100644 --- a/src/condition/Condition.java +++ b/src/condition/Condition.java @@ -1,7 +1,9 @@ package condition; +import main.Joueur; + public abstract class Condition { - - + //TODO + abstract boolean isTrue(Joueur joueur); } diff --git a/src/condition/ConditionClass.java b/src/condition/ConditionClass.java new file mode 100644 index 0000000..6af39d0 --- /dev/null +++ b/src/condition/ConditionClass.java @@ -0,0 +1,31 @@ +package condition; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import main.Joueur; + +public class ConditionClass extends Condition{ + + + private List> classes; + + + public ConditionClass(Class ... classes){ + + // TODO + this.classes = new ArrayList>(); + this.classes.addAll(Arrays.asList(classes)); + } + + + @Override + boolean isTrue(Joueur joueur) { + // TODO Auto-generated method stub + return false; + } + + + +} diff --git a/src/condition/ConditionMultiple.java b/src/condition/ConditionMultiple.java new file mode 100644 index 0000000..cbb24e9 --- /dev/null +++ b/src/condition/ConditionMultiple.java @@ -0,0 +1,44 @@ +package condition; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import main.Joueur; + +public class ConditionMultiple extends Condition { + + private List conditions; + + public ConditionMultiple(Condition ...conditions) { + + this.conditions = new ArrayList(); + this.conditions.addAll(Arrays.asList(conditions)); + } + + /** + * Vérifie si toutes les conditions sont vérifiées + * @param joueur Le joueur sur lequel on vérifie les conditions. + * @return boolean + */ + @Override + public boolean isTrue(Joueur joueur) + { + for(Condition condition : conditions) + { + // Si une seule des conditions n'est pas vraie alors on renvoie false + if(!condition.isTrue(joueur)) return false; + } + return true; + } + + public List getConditions() { + return conditions; + } + + public void setConditions(List conditions) { + this.conditions = conditions; + } + + +} diff --git a/src/condition/ConditionMultipleOR.java b/src/condition/ConditionMultipleOR.java new file mode 100644 index 0000000..60af141 --- /dev/null +++ b/src/condition/ConditionMultipleOR.java @@ -0,0 +1,25 @@ +package condition; + +import main.Joueur; + +public class ConditionMultipleOR extends ConditionMultiple{ + + + /** + * Vérifie si au moins une des conditions est vérifiée + * @param joueur Le joueur sur lequel on vérifie les conditions. + * @return boolean + */ + @Override + public boolean isTrue(Joueur joueur) + { + for(Condition condition : this.getConditions()) + { + // Si une seule des conditions est vraie alors on renvoie true + if(condition.isTrue(joueur)) return true; + } + return false; + } + + +} diff --git a/tests/condition/ConditionMultipleTest.java b/tests/condition/ConditionMultipleTest.java new file mode 100644 index 0000000..5ff7873 --- /dev/null +++ b/tests/condition/ConditionMultipleTest.java @@ -0,0 +1,29 @@ +package condition; + +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.Test; + +import main.Joueur; + +class ConditionMultipleTest { + + @Test + public void conditionMultipleVideRenvoieTrue() { + + Condition condition = new ConditionMultiple(); + Joueur j = new Joueur(); + + assertTrue(condition.isTrue(j)); + } + + @Test + public void conditionMultipleORVideRenvoieFalse() { + + Condition condition = new ConditionMultipleOR(); + Joueur j = new Joueur(); + + assertFalse(condition.isTrue(j)); + } + +}