WinCondition Allie
This commit is contained in:
parent
61e3e64f08
commit
ff0e8121e1
@ -14,4 +14,10 @@ public abstract class CarteCondition extends CarteEffet{
|
||||
public Condition getCondition() {
|
||||
return condition;
|
||||
}
|
||||
|
||||
public void setCondition(Condition condition) {
|
||||
this.condition = condition;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -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) {
|
||||
|
||||
|
67
src/condition/ConditionStatistiques.java
Normal file
67
src/condition/ConditionStatistiques.java
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
@ -110,4 +110,9 @@ public class Joueur {
|
||||
return this.revele;
|
||||
}
|
||||
|
||||
public Object getCartePersonnage() {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -16,6 +16,7 @@ public class Plateau {
|
||||
public static final String PLATEAU_NB_MORTS_NEUTRAL = "nb_morts_neutral";
|
||||
public static final String PLATEAU_NB_MORTS_HUNTER = "nb_morts_hunter";
|
||||
public static final String PLATEAU_NB_MORTS_SHADOW = "nb_morts_shadow";
|
||||
public static final String PLATEAU_PARTIE_FINIE = "partie_finie";
|
||||
|
||||
private Map<String, Integer> stats;
|
||||
|
||||
@ -37,6 +38,8 @@ public class Plateau {
|
||||
stats.put(PLATEAU_NB_MORTS_NEUTRAL, 0);
|
||||
stats.put(PLATEAU_NB_MORTS_HUNTER, 0);
|
||||
stats.put(PLATEAU_NB_MORTS_SHADOW, 0);
|
||||
stats.put(PLATEAU_PARTIE_FINIE, 0);
|
||||
|
||||
}
|
||||
|
||||
public int rollDices() {
|
||||
@ -85,4 +88,16 @@ public class Plateau {
|
||||
public List<Joueur> getJoueurs() {
|
||||
return this.joueurs;
|
||||
}
|
||||
|
||||
public int getStat(String key) {
|
||||
if(this.stats.containsKey(key))
|
||||
{
|
||||
return this.getStat(key);
|
||||
}else {
|
||||
|
||||
//TODO Exception
|
||||
return -1;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -1,24 +1,39 @@
|
||||
package personnage;
|
||||
|
||||
import condition.Condition;
|
||||
import condition.ConditionMultiple;
|
||||
import condition.ConditionStatistiques;
|
||||
import effet.Action;
|
||||
import effet.ActionAltererStatistiquesJoueur;
|
||||
import effet.Effet;
|
||||
import effet.EffetSelf;
|
||||
import main.Joueur;
|
||||
import main.Plateau;
|
||||
|
||||
public class Allie extends Unique{
|
||||
|
||||
public Allie(String nom, int hp, Joueur joueur, Condition condition,boolean capaciteUsed) {
|
||||
super(nom, hp, joueur, condition, capaciteUsed);
|
||||
|
||||
public Allie(String nom, int hp, Joueur joueur,boolean capaciteUsed) {
|
||||
super(nom, hp, joueur, capaciteUsed);
|
||||
|
||||
Action action = new ActionAltererStatistiquesJoueur("HP",this.getPv(),false);
|
||||
Effet effet = new EffetSelf(action);
|
||||
this.setEffet(effet);
|
||||
|
||||
Condition condition = new ConditionMultiple(
|
||||
|
||||
new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.PLATEAU_PARTIE_FINIE, 1, ConditionStatistiques.EQUAL)
|
||||
, new ConditionStatistiques(ConditionStatistiques.JOUEUR, Joueur.PLAYER_HP, 0, ConditionStatistiques.MORE)
|
||||
);
|
||||
|
||||
this.setCondition(condition);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Lance l'effet d'Allie
|
||||
* <br> Effet : Soin total
|
||||
* @param j
|
||||
* @return void
|
||||
*/
|
||||
public void utiliser(Joueur j) {
|
||||
|
||||
if(!this.isCapaciteUsed()) {
|
||||
|
@ -4,16 +4,12 @@ import condition.Condition;
|
||||
import main.Joueur;
|
||||
|
||||
public class Bob extends CartePersonnage{
|
||||
//attributs
|
||||
private boolean capaciteUsed;
|
||||
|
||||
//constructeur
|
||||
public Bob(String nom, int hp, Joueur joueur, Condition condition,boolean capaciteUsed) {
|
||||
super(nom, hp, joueur, condition);
|
||||
this.capaciteUsed=capaciteUsed;
|
||||
}
|
||||
|
||||
//méthode
|
||||
|
||||
public void attaquer(Joueur j) {
|
||||
|
||||
}
|
||||
|
@ -4,7 +4,7 @@ import carte.CarteCondition;
|
||||
import condition.Condition;
|
||||
import main.Joueur;
|
||||
|
||||
public class CartePersonnage extends CarteCondition {
|
||||
public abstract class CartePersonnage extends CarteCondition {
|
||||
//attributs
|
||||
private String nom;
|
||||
private int pv;
|
||||
@ -12,11 +12,10 @@ public class CartePersonnage extends CarteCondition {
|
||||
private Condition condition;
|
||||
|
||||
//constructeurs
|
||||
public CartePersonnage(String nom, int pv, Joueur joueur,Condition condition){
|
||||
public CartePersonnage(String nom, int pv, Joueur joueur){
|
||||
this.nom=nom;
|
||||
this.setPv(pv);
|
||||
this.pv = pv;
|
||||
this.joueur=joueur;
|
||||
this.condition=condition;
|
||||
}
|
||||
|
||||
//méthodes
|
||||
|
@ -7,8 +7,8 @@ public class Unique extends CartePersonnage{
|
||||
|
||||
private boolean capaciteUsed;
|
||||
|
||||
public Unique(String nom, int hp, Joueur joueur,Condition condition,boolean capaciteUsed) {
|
||||
super(nom, hp, joueur, condition);
|
||||
public Unique(String nom, int hp, Joueur joueur,boolean capaciteUsed) {
|
||||
super(nom, hp, joueur);
|
||||
this.setCapaciteUsed(capaciteUsed);
|
||||
}
|
||||
|
||||
|
@ -25,7 +25,7 @@ public class Vampire extends CartePersonnage{
|
||||
|
||||
/**
|
||||
* Lance l'action d'attaquer de Vampire
|
||||
* <br><br> Efffet :
|
||||
* <br><br> Effet :
|
||||
* @param j Le joueur qui subit l'attaque
|
||||
* @return void
|
||||
*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user