WinCondition Allie
This commit is contained in:
parent
61e3e64f08
commit
ff0e8121e1
@ -14,4 +14,10 @@ public abstract class CarteCondition extends CarteEffet{
|
|||||||
public Condition getCondition() {
|
public Condition getCondition() {
|
||||||
return condition;
|
return condition;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setCondition(Condition condition) {
|
||||||
|
this.condition = condition;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -5,8 +5,6 @@ import java.util.Arrays;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import main.Joueur;
|
import main.Joueur;
|
||||||
import carte.CartePersonnage;
|
|
||||||
import carte.Type;
|
|
||||||
|
|
||||||
|
|
||||||
public class ConditionClass<T> extends Condition{
|
public class ConditionClass<T> extends Condition{
|
||||||
@ -37,7 +35,7 @@ public class ConditionClass<T> extends Condition{
|
|||||||
public boolean isTrue(Joueur joueur)
|
public boolean isTrue(Joueur joueur)
|
||||||
{
|
{
|
||||||
Class<? extends T> ccp = (Class<? extends T>) joueur.getCartePersonnage().getClass();
|
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) {
|
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;
|
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_NEUTRAL = "nb_morts_neutral";
|
||||||
public static final String PLATEAU_NB_MORTS_HUNTER = "nb_morts_hunter";
|
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_NB_MORTS_SHADOW = "nb_morts_shadow";
|
||||||
|
public static final String PLATEAU_PARTIE_FINIE = "partie_finie";
|
||||||
|
|
||||||
private Map<String, Integer> stats;
|
private Map<String, Integer> stats;
|
||||||
|
|
||||||
@ -37,6 +38,8 @@ public class Plateau {
|
|||||||
stats.put(PLATEAU_NB_MORTS_NEUTRAL, 0);
|
stats.put(PLATEAU_NB_MORTS_NEUTRAL, 0);
|
||||||
stats.put(PLATEAU_NB_MORTS_HUNTER, 0);
|
stats.put(PLATEAU_NB_MORTS_HUNTER, 0);
|
||||||
stats.put(PLATEAU_NB_MORTS_SHADOW, 0);
|
stats.put(PLATEAU_NB_MORTS_SHADOW, 0);
|
||||||
|
stats.put(PLATEAU_PARTIE_FINIE, 0);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int rollDices() {
|
public int rollDices() {
|
||||||
@ -85,4 +88,16 @@ public class Plateau {
|
|||||||
public List<Joueur> getJoueurs() {
|
public List<Joueur> getJoueurs() {
|
||||||
return this.joueurs;
|
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;
|
package personnage;
|
||||||
|
|
||||||
import condition.Condition;
|
import condition.Condition;
|
||||||
|
import condition.ConditionMultiple;
|
||||||
|
import condition.ConditionStatistiques;
|
||||||
import effet.Action;
|
import effet.Action;
|
||||||
import effet.ActionAltererStatistiquesJoueur;
|
import effet.ActionAltererStatistiquesJoueur;
|
||||||
import effet.Effet;
|
import effet.Effet;
|
||||||
import effet.EffetSelf;
|
import effet.EffetSelf;
|
||||||
import main.Joueur;
|
import main.Joueur;
|
||||||
|
import main.Plateau;
|
||||||
|
|
||||||
public class Allie extends Unique{
|
public class Allie extends Unique{
|
||||||
|
|
||||||
public Allie(String nom, int hp, Joueur joueur, Condition condition,boolean capaciteUsed) {
|
public Allie(String nom, int hp, Joueur joueur,boolean capaciteUsed) {
|
||||||
super(nom, hp, joueur, condition, capaciteUsed);
|
super(nom, hp, joueur, capaciteUsed);
|
||||||
|
|
||||||
|
|
||||||
Action action = new ActionAltererStatistiquesJoueur("HP",this.getPv(),false);
|
Action action = new ActionAltererStatistiquesJoueur("HP",this.getPv(),false);
|
||||||
Effet effet = new EffetSelf(action);
|
Effet effet = new EffetSelf(action);
|
||||||
this.setEffet(effet);
|
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) {
|
public void utiliser(Joueur j) {
|
||||||
|
|
||||||
if(!this.isCapaciteUsed()) {
|
if(!this.isCapaciteUsed()) {
|
||||||
|
@ -4,16 +4,12 @@ import condition.Condition;
|
|||||||
import main.Joueur;
|
import main.Joueur;
|
||||||
|
|
||||||
public class Bob extends CartePersonnage{
|
public class Bob extends CartePersonnage{
|
||||||
//attributs
|
|
||||||
private boolean capaciteUsed;
|
|
||||||
|
|
||||||
//constructeur
|
|
||||||
public Bob(String nom, int hp, Joueur joueur, Condition condition,boolean capaciteUsed) {
|
public Bob(String nom, int hp, Joueur joueur, Condition condition,boolean capaciteUsed) {
|
||||||
super(nom, hp, joueur, condition);
|
super(nom, hp, joueur, condition);
|
||||||
this.capaciteUsed=capaciteUsed;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//méthode
|
|
||||||
public void attaquer(Joueur j) {
|
public void attaquer(Joueur j) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@ import carte.CarteCondition;
|
|||||||
import condition.Condition;
|
import condition.Condition;
|
||||||
import main.Joueur;
|
import main.Joueur;
|
||||||
|
|
||||||
public class CartePersonnage extends CarteCondition {
|
public abstract class CartePersonnage extends CarteCondition {
|
||||||
//attributs
|
//attributs
|
||||||
private String nom;
|
private String nom;
|
||||||
private int pv;
|
private int pv;
|
||||||
@ -12,11 +12,10 @@ public class CartePersonnage extends CarteCondition {
|
|||||||
private Condition condition;
|
private Condition condition;
|
||||||
|
|
||||||
//constructeurs
|
//constructeurs
|
||||||
public CartePersonnage(String nom, int pv, Joueur joueur,Condition condition){
|
public CartePersonnage(String nom, int pv, Joueur joueur){
|
||||||
this.nom=nom;
|
this.nom=nom;
|
||||||
this.setPv(pv);
|
this.pv = pv;
|
||||||
this.joueur=joueur;
|
this.joueur=joueur;
|
||||||
this.condition=condition;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//méthodes
|
//méthodes
|
||||||
|
@ -7,8 +7,8 @@ public class Unique extends CartePersonnage{
|
|||||||
|
|
||||||
private boolean capaciteUsed;
|
private boolean capaciteUsed;
|
||||||
|
|
||||||
public Unique(String nom, int hp, Joueur joueur,Condition condition,boolean capaciteUsed) {
|
public Unique(String nom, int hp, Joueur joueur,boolean capaciteUsed) {
|
||||||
super(nom, hp, joueur, condition);
|
super(nom, hp, joueur);
|
||||||
this.setCapaciteUsed(capaciteUsed);
|
this.setCapaciteUsed(capaciteUsed);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ public class Vampire extends CartePersonnage{
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Lance l'action d'attaquer de Vampire
|
* Lance l'action d'attaquer de Vampire
|
||||||
* <br><br> Efffet :
|
* <br><br> Effet :
|
||||||
* @param j Le joueur qui subit l'attaque
|
* @param j Le joueur qui subit l'attaque
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user