From f5ab4c57e20a47ff2bee850834048abfcb081ee8 Mon Sep 17 00:00:00 2001 From: Paul Gross Date: Fri, 17 Apr 2020 14:03:41 +0200 Subject: [PATCH] Modification mineure Joueur et ajout de classes Condition --- src/condition/Condition.java | 7 ++--- src/condition/ConditionClass.java | 35 +++++++++++++++++++------ src/condition/ConditionMultiple.java | 2 +- src/condition/ConditionMultipleOR.java | 2 +- src/main/Joueur.java | 14 ++++++++++ tests/condition/ConditionClassTest.java | 14 ++++++++++ 6 files changed, 61 insertions(+), 13 deletions(-) create mode 100644 tests/condition/ConditionClassTest.java diff --git a/src/condition/Condition.java b/src/condition/Condition.java index 945e546..57d2399 100644 --- a/src/condition/Condition.java +++ b/src/condition/Condition.java @@ -3,7 +3,8 @@ package condition; import main.Joueur; public abstract class Condition { - - //TODO - abstract boolean isTrue(Joueur joueur); + + public boolean isTrue(Joueur joueur) { + return true; + } } diff --git a/src/condition/ConditionClass.java b/src/condition/ConditionClass.java index 6af39d0..4b2720b 100644 --- a/src/condition/ConditionClass.java +++ b/src/condition/ConditionClass.java @@ -4,28 +4,47 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import carte.Carte; +import carte.CartePersonnage; +import carte.Type; import main.Joueur; -public class ConditionClass extends Condition{ +public class ConditionClass extends Condition{ - private List> classes; - + public ConditionClass(Class ... classes){ - // TODO this.classes = new ArrayList>(); this.classes.addAll(Arrays.asList(classes)); } + /** + * Vérifie qu'il existe au moins une classe qui correspond soit au Type soit au Personnage du Joueur. + *

+ * exemple : + * + * classes = { Emi.class, Metamorphe.class, ... etc } ou classes = { Hunter.class, Shadow.class, Neutre.class } + *
+ * Si la class de la carte du joueur correspond à un des élements dans classes alors on renvoie vrai, même chose pour les types. + * + * @param joueur Le joueur sur lequel on vérifie les conditions. + * @return boolean + */ @Override - boolean isTrue(Joueur joueur) { - // TODO Auto-generated method stub + public boolean isTrue(Joueur joueur) + { + Class ccp = (Class) joueur.getCartePersonnage().getClass(); + Class cct = (Class) joueur.getType().getClass(); + + for(Class classe : classes) { + + + if(ccp.getClass() == classe.getClass() || cct.getClass() == classe.getClass() ) return true; + } return false; } - - } diff --git a/src/condition/ConditionMultiple.java b/src/condition/ConditionMultiple.java index cbb24e9..477a9e7 100644 --- a/src/condition/ConditionMultiple.java +++ b/src/condition/ConditionMultiple.java @@ -17,7 +17,7 @@ public class ConditionMultiple extends Condition { } /** - * Vérifie si toutes les conditions sont vérifiées + * Vérifie que toutes les conditions soient vraies * @param joueur Le joueur sur lequel on vérifie les conditions. * @return boolean */ diff --git a/src/condition/ConditionMultipleOR.java b/src/condition/ConditionMultipleOR.java index 60af141..27a6fef 100644 --- a/src/condition/ConditionMultipleOR.java +++ b/src/condition/ConditionMultipleOR.java @@ -6,7 +6,7 @@ public class ConditionMultipleOR extends ConditionMultiple{ /** - * Vérifie si au moins une des conditions est vérifiée + * Vérifie qu'au moins une des conditions soit vérifiée. * @param joueur Le joueur sur lequel on vérifie les conditions. * @return boolean */ diff --git a/src/main/Joueur.java b/src/main/Joueur.java index 3c94ffc..637a11d 100644 --- a/src/main/Joueur.java +++ b/src/main/Joueur.java @@ -2,7 +2,11 @@ package main; import java.util.HashMap; import java.util.Map; +import carte.CartePersonnage; +import carte.Type; + public class Joueur { + private Map stats = new HashMap<>(); private GestionnaireEquipements gestionnaireEquipements; @@ -22,5 +26,15 @@ public class Joueur { public int getNbEquipments() { return gestionnaireEquipements.getNbEquipments(); } + + public Type getType() { + // TODO Auto-generated method stub + return null; + } + + public CartePersonnage getCartePersonnage() { + // TODO Auto-generated method stub + return null; + } } diff --git a/tests/condition/ConditionClassTest.java b/tests/condition/ConditionClassTest.java new file mode 100644 index 0000000..79fed1f --- /dev/null +++ b/tests/condition/ConditionClassTest.java @@ -0,0 +1,14 @@ +package condition; + +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.Test; + +class ConditionClassTest { + + @Test + void test() { + fail("Not yet implemented"); + } + +}