Modification mineure Joueur et ajout de classes Condition

This commit is contained in:
Paul Gross 2020-04-17 14:03:41 +02:00
parent f37961727f
commit f5ab4c57e2
6 changed files with 61 additions and 13 deletions

View File

@ -3,7 +3,8 @@ package condition;
import main.Joueur; import main.Joueur;
public abstract class Condition { public abstract class Condition {
//TODO public boolean isTrue(Joueur joueur) {
abstract boolean isTrue(Joueur joueur); return true;
}
} }

View File

@ -4,28 +4,47 @@ import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.List; import java.util.List;
import carte.Carte;
import carte.CartePersonnage;
import carte.Type;
import main.Joueur; import main.Joueur;
public class ConditionClass<T extends Comparable> extends Condition{ public class ConditionClass<T> extends Condition{
private List<Class<T>> classes; private List<Class<T>> classes;
public ConditionClass(Class<T> ... classes){ public ConditionClass(Class<T> ... classes){
// TODO // TODO
this.classes = new ArrayList<Class<T>>(); this.classes = new ArrayList<Class<T>>();
this.classes.addAll(Arrays.asList(classes)); 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.
* <br><br>
* exemple :
*
* classes = { Emi.class, Metamorphe.class, ... etc } ou classes = { Hunter.class, Shadow.class, Neutre.class }
* <br>
* 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 @Override
boolean isTrue(Joueur joueur) { public boolean isTrue(Joueur joueur)
// TODO Auto-generated method stub {
Class<? extends T> ccp = (Class<? extends T>) joueur.getCartePersonnage().getClass();
Class<? extends T> cct = (Class<? extends T>) joueur.getType().getClass();
for(Class<? extends T> classe : classes) {
if(ccp.getClass() == classe.getClass() || cct.getClass() == classe.getClass() ) return true;
}
return false; return false;
} }
} }

View File

@ -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. * @param joueur Le joueur sur lequel on vérifie les conditions.
* @return boolean * @return boolean
*/ */

View File

@ -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. * @param joueur Le joueur sur lequel on vérifie les conditions.
* @return boolean * @return boolean
*/ */

View File

@ -2,7 +2,11 @@ package main;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import carte.CartePersonnage;
import carte.Type;
public class Joueur { public class Joueur {
private Map<String, Integer> stats = new HashMap<>(); private Map<String, Integer> stats = new HashMap<>();
private GestionnaireEquipements gestionnaireEquipements; private GestionnaireEquipements gestionnaireEquipements;
@ -22,5 +26,15 @@ public class Joueur {
public int getNbEquipments() { public int getNbEquipments() {
return gestionnaireEquipements.getNbEquipments(); return gestionnaireEquipements.getNbEquipments();
} }
public Type getType() {
// TODO Auto-generated method stub
return null;
}
public CartePersonnage getCartePersonnage() {
// TODO Auto-generated method stub
return null;
}
} }

View File

@ -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");
}
}