WinCondition Allie

This commit is contained in:
Paul Gross
2020-04-18 14:05:53 +02:00
parent 61e3e64f08
commit ff0e8121e1
10 changed files with 120 additions and 19 deletions

View File

@ -5,8 +5,6 @@ import java.util.Arrays;
import java.util.List;
import main.Joueur;
import carte.CartePersonnage;
import carte.Type;
public class ConditionClass<T> extends Condition{
@ -37,7 +35,7 @@ public class ConditionClass<T> extends Condition{
public boolean isTrue(Joueur joueur)
{
Class<? extends T> ccp = (Class<? extends T>) joueur.getCartePersonnage().getClass();
Class<? extends T> cct = (Class<? extends T>) joueur.getType().getClass();
Class<? extends T> cct = (Class<? extends T>) joueur.getEquipe().getClass();
for(Class<? extends T> classe : classes) {

View File

@ -0,0 +1,67 @@
package condition;
import main.Joueur;
public class ConditionStatistiques extends Condition {
public static final boolean PLATEAU = false;
public static final boolean JOUEUR = true;
public static final int EQUAL = 0;
public static final int MORE = 1;
public static final int LESS = 2;
private boolean plateauJoueur;
private String key;
private int value;
private int equalMoreLess;
/**
*
* @param plateauJoueur
* @param key
* @param value
* @param equalMoreLess
*/
public ConditionStatistiques(boolean plateauJoueur,String key,int value,int equalMoreLess) {
if(equalMoreLess >= 0 && equalMoreLess <= 2) this.equalMoreLess = equalMoreLess;
else // TODO exception
this.key = key;
this.value = value;
this.plateauJoueur = plateauJoueur;
}
/**
* @param joueur sur lequel on vérifie la condition
*
*/
@Override
public boolean isTrue(Joueur joueur) {
int valeur;
if(this.plateauJoueur)
{
valeur = joueur.getPlateau().getStat(key);
}else {
valeur = joueur.getStat(key);
}
switch(this.equalMoreLess) {
case EQUAL:
return this.value == valeur;
case MORE:
return this.value <= valeur;
case LESS:
return this.value >= valeur;
default:
// TODO exception
return false;
}
}
}