WinCondition Loup-Garou, Métamorphe, Vampire
This commit is contained in:
parent
ff0e8121e1
commit
ddda065775
@ -5,6 +5,10 @@ import main.Joueur;
|
||||
public class ConditionMultipleOR extends ConditionMultiple{
|
||||
|
||||
|
||||
public ConditionMultipleOR(Condition ...conditions) {
|
||||
super(conditions);
|
||||
}
|
||||
|
||||
/**
|
||||
* Vérifie qu'au moins une des conditions soit vérifiée.
|
||||
* @param joueur Le joueur sur lequel on vérifie les conditions.
|
||||
|
@ -12,11 +12,14 @@ public class Plateau {
|
||||
private List<CarteLieu> lieux;
|
||||
|
||||
|
||||
public static final String PLATEAU_NB_MORTS = "nb_morts";
|
||||
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";
|
||||
public static final String NB_HUNTERS = "nb_hunters";
|
||||
public static final String NB_SHADOWS = "nb_shadows";
|
||||
public static final String NB_NEUTRES = "nb_neutres";
|
||||
public static final String NB_MORTS = "nb_morts";
|
||||
public static final String NB_MORTS_NEUTRAL = "nb_morts_neutral";
|
||||
public static final String NB_MORTS_HUNTER = "nb_morts_hunter";
|
||||
public static final String NB_MORTS_SHADOW = "nb_morts_shadow";
|
||||
public static final String PARTIE_FINIE = "partie_finie";
|
||||
|
||||
private Map<String, Integer> stats;
|
||||
|
||||
@ -34,11 +37,14 @@ public class Plateau {
|
||||
stats = new HashMap<>();
|
||||
|
||||
// Initialisation plateau
|
||||
stats.put(PLATEAU_NB_MORTS, 0);
|
||||
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);
|
||||
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);
|
||||
|
||||
}
|
||||
|
||||
|
@ -1,15 +1,26 @@
|
||||
package personnage;
|
||||
|
||||
import condition.Condition;
|
||||
import condition.ConditionMultipleOR;
|
||||
import condition.ConditionStatistiques;
|
||||
import main.Joueur;
|
||||
import main.Plateau;
|
||||
|
||||
public class LoupGarou extends CartePersonnage {
|
||||
//constructeur
|
||||
public LoupGarou(String nom, int hp, Joueur joueur, Condition condition) {
|
||||
super(nom, hp, joueur, condition);
|
||||
public LoupGarou(String nom, int hp, Joueur joueur) {
|
||||
super(nom, hp, joueur);
|
||||
|
||||
int nbHunter = joueur.getPlateau().getStat(Plateau.NB_HUNTERS);
|
||||
Condition condition = new ConditionMultipleOR(
|
||||
new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS_HUNTER, nbHunter, ConditionStatistiques.MORE)
|
||||
,
|
||||
new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS_NEUTRAL, 3, ConditionStatistiques.MORE)
|
||||
);
|
||||
this.setCondition(condition);
|
||||
}
|
||||
|
||||
//méthodes
|
||||
//m<EFBFBD>thodes
|
||||
public void contreAttaquer(Joueur j) {
|
||||
|
||||
}
|
||||
|
25
src/personnage/Metamorphe.java
Normal file
25
src/personnage/Metamorphe.java
Normal file
@ -0,0 +1,25 @@
|
||||
package personnage;
|
||||
|
||||
import condition.Condition;
|
||||
import condition.ConditionMultipleOR;
|
||||
import condition.ConditionStatistiques;
|
||||
import main.Joueur;
|
||||
import main.Plateau;
|
||||
|
||||
public class Metamorphe extends CartePersonnage{
|
||||
|
||||
public Metamorphe(String nom, int pv, Joueur joueur) {
|
||||
super(nom, pv, joueur);
|
||||
|
||||
|
||||
// WinCondition
|
||||
int nbHunter = joueur.getPlateau().getStat(Plateau.NB_HUNTERS);
|
||||
Condition condition = new ConditionMultipleOR(
|
||||
new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS_HUNTER, nbHunter, ConditionStatistiques.MORE)
|
||||
,
|
||||
new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS_NEUTRAL, 3, ConditionStatistiques.MORE)
|
||||
);
|
||||
this.setCondition(condition);
|
||||
}
|
||||
|
||||
}
|
@ -1,21 +1,31 @@
|
||||
package personnage;
|
||||
|
||||
import condition.Condition;
|
||||
import condition.ConditionMultipleOR;
|
||||
import condition.ConditionStatistiques;
|
||||
import effet.Action;
|
||||
import effet.ActionAltererStatistiquesJoueur;
|
||||
import effet.Effet;
|
||||
import effet.EffetSelf;
|
||||
import main.Joueur;
|
||||
import main.Plateau;
|
||||
|
||||
public class Vampire extends CartePersonnage{
|
||||
|
||||
public Vampire(String nom, int hp, Joueur joueur, Condition condition) {
|
||||
super(nom, hp, joueur, condition);
|
||||
public Vampire(String nom, int hp, Joueur joueur) {
|
||||
super(nom, hp, joueur);
|
||||
|
||||
Action action = new ActionAltererStatistiquesJoueur("HP",2,true);
|
||||
Effet effet = new EffetSelf(action);
|
||||
this.setEffet(effet);
|
||||
|
||||
int nbHunter = joueur.getPlateau().getStat(Plateau.NB_HUNTERS);
|
||||
Condition condition = new ConditionMultipleOR(
|
||||
new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS_HUNTER, nbHunter, ConditionStatistiques.MORE)
|
||||
,
|
||||
new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS_NEUTRAL, 3, ConditionStatistiques.MORE)
|
||||
);
|
||||
this.setCondition(condition);
|
||||
}
|
||||
|
||||
public void utiliser(Joueur j)
|
||||
|
Loading…
x
Reference in New Issue
Block a user