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);
|
||||
}
|
||||
|
||||
|
@ -7,8 +7,6 @@ public class CarteLieu {
|
||||
private String nom;
|
||||
private CarteLieu voisin;
|
||||
private Plateau plateau;
|
||||
// TODO connaitre carte voisine sur un autre territoire pour emi?
|
||||
|
||||
|
||||
public CarteLieu(String n, List<Integer> vals, CarteLieu vois, Plateau plat){
|
||||
nom = n;
|
||||
|
@ -58,12 +58,17 @@ public class Joueur {
|
||||
return this.equipe;
|
||||
}
|
||||
|
||||
public int setStat(String key, int valeur) {
|
||||
return stats.put(key, valeur);
|
||||
public void setStat(String key, int valeur) {
|
||||
this.stats.put(key, valeur);
|
||||
}
|
||||
|
||||
public int getStat(String key) {
|
||||
return stats.get(key);
|
||||
|
||||
if(stats.containsKey(key)) {
|
||||
return stats.get(key);
|
||||
}else {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -134,4 +139,8 @@ public class Joueur {
|
||||
|
||||
}
|
||||
|
||||
public void setPlateau(Plateau plateau2) {
|
||||
this.plateau = plateau2;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -34,17 +34,18 @@ public class Plateau {
|
||||
this.joueurs = joueurs;
|
||||
this.lieux = new ArrayList<>();
|
||||
|
||||
stats = new HashMap<>();
|
||||
this.stats = new HashMap<>();
|
||||
|
||||
// Initialisation plateau
|
||||
stats.put(NB_HUNTERS, 0);
|
||||
stats.put(NB_SHADOWS, 0);
|
||||
stats.put(NB_NEUTRES, 0);
|
||||
stats.put(NB_MORTS, 0);
|
||||
stats.put(NB_MORTS_NEUTRAL, 0);
|
||||
stats.put(NB_MORTS_HUNTER, 0);
|
||||
stats.put(NB_MORTS_SHADOW, 0);
|
||||
stats.put(PARTIE_FINIE, 0);
|
||||
this.stats.put(NB_HUNTERS, 0);
|
||||
this.stats.put(NB_SHADOWS, 0);
|
||||
this.stats.put(NB_NEUTRES, 0);
|
||||
this.stats.put(NB_MORTS, 0);
|
||||
this.stats.put(NB_MORTS_NEUTRAL, 0);
|
||||
this.stats.put(NB_MORTS_HUNTER, 0);
|
||||
this.stats.put(NB_MORTS_SHADOW, 0);
|
||||
this.stats.put(PARTIE_FINIE, 0);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -95,10 +96,15 @@ public class Plateau {
|
||||
return this.joueurs;
|
||||
}
|
||||
|
||||
public void setStat(String key, int valeur) {
|
||||
this.stats.put(key, valeur);
|
||||
}
|
||||
|
||||
public int getStat(String key) {
|
||||
|
||||
if(this.stats.containsKey(key))
|
||||
{
|
||||
return this.getStat(key);
|
||||
return this.stats.get(key);
|
||||
}else {
|
||||
|
||||
//TODO Exception
|
||||
|
Reference in New Issue
Block a user