Unit tests WinConditionHunter / Shadow
This commit is contained in:
@ -11,6 +11,15 @@ public class ConditionClassPersonnage extends Condition{
|
||||
|
||||
private List<Class<? extends CartePersonnage>> classes;
|
||||
|
||||
|
||||
/**
|
||||
* Construit une condition qui vérifie la possession d'un certain Personnage dans une liste définie.
|
||||
* exemple :
|
||||
*
|
||||
* classes = { Emi.class, Metamorphe.class, ... etc }
|
||||
*
|
||||
* @param classes Les Class des différents Personnage's.
|
||||
*/
|
||||
public ConditionClassPersonnage(List<Class<? extends CartePersonnage>> classes){
|
||||
|
||||
this.classes = new ArrayList<Class<? extends CartePersonnage>>();
|
||||
|
@ -4,8 +4,8 @@ import main.Joueur;
|
||||
|
||||
public class ConditionStatistiques extends Condition {
|
||||
|
||||
public static final boolean PLATEAU = false;
|
||||
public static final boolean JOUEUR = true;
|
||||
public static final boolean PLATEAU = true;
|
||||
public static final boolean JOUEUR = false;
|
||||
|
||||
public static final int EQUAL = 0;
|
||||
public static final int MORE = 1;
|
||||
@ -19,7 +19,6 @@ public class ConditionStatistiques extends Condition {
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @param plateauJoueur
|
||||
* @param key
|
||||
* @param value
|
||||
@ -28,11 +27,10 @@ public class ConditionStatistiques extends Condition {
|
||||
public ConditionStatistiques(boolean plateauJoueur,String key,int value,int equalMoreLess) {
|
||||
|
||||
if(equalMoreLess >= 0 && equalMoreLess <= 2) this.equalMoreLess = equalMoreLess;
|
||||
else // TODO exception
|
||||
else {} // TODO exception
|
||||
|
||||
this.key = key;
|
||||
this.value = value;
|
||||
|
||||
this.plateauJoueur = plateauJoueur;
|
||||
}
|
||||
|
||||
@ -46,21 +44,21 @@ public class ConditionStatistiques extends Condition {
|
||||
int valeur;
|
||||
if(this.plateauJoueur)
|
||||
{
|
||||
valeur = joueur.getPlateau().getStat(key);
|
||||
valeur = joueur.getPlateau().getStat(this.key);
|
||||
|
||||
}else {
|
||||
valeur = joueur.getStat(key);
|
||||
}
|
||||
|
||||
valeur = joueur.getStat(this.key);
|
||||
}
|
||||
|
||||
switch(this.equalMoreLess) {
|
||||
case EQUAL:
|
||||
return this.value == valeur;
|
||||
case MORE:
|
||||
return this.value <= valeur;
|
||||
case LESS:
|
||||
return this.value >= valeur;
|
||||
case LESS:
|
||||
return this.value <= valeur;
|
||||
default:
|
||||
// TODO exception
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -9,7 +9,9 @@ public class WinConditionHunter extends Condition{
|
||||
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);
|
||||
|
||||
Condition winCondition = new ConditionStatistiques(
|
||||
ConditionStatistiques.PLATEAU, Plateau.NB_MORTS_SHADOW, nbShadow, ConditionStatistiques.LESS);
|
||||
return winCondition.isTrue(j);
|
||||
}
|
||||
|
||||
|
@ -9,7 +9,10 @@ public class WinConditionShadow extends Condition{
|
||||
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);
|
||||
Condition winCondition =
|
||||
new ConditionMultipleOR(
|
||||
new ConditionStatistiques(ConditionStatistiques.PLATEAU,Plateau.NB_MORTS_NEUTRAL,3,ConditionStatistiques.LESS),
|
||||
new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS_HUNTER, nbHunter, ConditionStatistiques.LESS));
|
||||
return winCondition.isTrue(j);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user