Merge branch 'development' of https://github.com/PTE-SH/ShadowHunterGame into development

This commit is contained in:
Yessine Ben El Bey 2020-05-06 16:19:40 +02:00
commit fdf6fed74d
25 changed files with 490 additions and 317 deletions

View File

@ -1,19 +1,20 @@
package carte; package carte;
import effet.Effet;
import main.Joueur; import main.Joueur;
import main.Type;
public abstract class CarteEquipement<T extends Type> extends CartePiochable<Type>{ public abstract class CarteEquipement extends CartePiochable{
/** /**
* *
*/ */
private static final long serialVersionUID = 7537771209935892801L; private static final long serialVersionUID = 7537771209935892801L;
public CarteEquipement(String nom, String description) { public CarteEquipement(Type t, Effet effet) {
super(nom, description); super(t, effet);
// TODO Auto-generated constructor stub
} }
public void utiliser(Joueur j) { public void utiliser(Joueur j) {

View File

@ -1,12 +1,15 @@
package carte; package carte;
import effet.Effet;
import main.Joueur; import main.Joueur;
import main.Type;
public class CarteEquipementEffet<T extends Type> extends CarteEquipement<Type> { public class CarteEquipementEffet extends CarteEquipement {
public CarteEquipementEffet(String nom, String description) {
super(nom, description);
public CarteEquipementEffet(Type t, Effet effet) {
super(t, effet);
// TODO Auto-generated constructor stub
} }
/** /**

View File

@ -4,30 +4,28 @@ import condition.Condition;
import effet.Effet; import effet.Effet;
import effet.action.ActionAltererStatistiquesJoueur; import effet.action.ActionAltererStatistiquesJoueur;
import main.Joueur; import main.Joueur;
import main.Type;
public class CarteEquipementStat<T extends Type> extends CarteEquipement<Type>{ public class CarteEquipementStat extends CarteEquipement{
public CarteEquipementStat(Type t, Effet effet) {
super(t, effet);
}
public CarteEquipementStat(Type t, Effet effet, Condition condition) {
super(t, effet);
this.setCondition(condition);
}
/** /**
* *
*/ */
private static final long serialVersionUID = 1602387056611454284L; private static final long serialVersionUID = 1602387056611454284L;
public CarteEquipementStat(String nom, String description) {
super(nom, description);
}
public CarteEquipementStat(Effet effet, Condition condition) {
super("","");
this.setEffet(effet);
this.setCondition(condition);
}
public CarteEquipementStat(Effet effet) {
super("","");
this.setEffet(effet);
this.setCondition(new Condition());
}
@Override @Override
public void reverse(Joueur j) { public void reverse(Joueur j) {

View File

@ -4,24 +4,28 @@ import java.awt.Point;
import main.Joueur; import main.Joueur;
import main.Pioche; import main.Pioche;
import main.Type;
public class CarteLieuType<T extends Type> extends CarteLieu{ public class CarteLieuType extends CarteLieu{
private Pioche<T> pioche; /**
*
*/
private static final long serialVersionUID = -497959392470353155L;
private Pioche pioche;
private CartePiochable.Type type;
public CarteLieuType(String name, String description ,Point coordinates,Pioche<T> pioche) { public CarteLieuType(CartePiochable.Type type,String name, String description ,Point coordinates,Pioche pioche) {
super(name , description , coordinates); super(name , description , coordinates);
this.type = type;
this.pioche = pioche; this.pioche = pioche;
} }
/* /*
* @param j Appel la méthode utiliser de effet sur le joueur j * @param j Appel la méthode utiliser de effet sur le joueur j
*/ */
public void utiliser(Joueur j) { public void utiliser(Joueur j) {
CartePiochable<?> carte = pioche.piocher(); CartePiochable carte = pioche.piocher();
carte.utiliser(j); carte.utiliser(j);
} }

View File

@ -4,28 +4,33 @@ import java.io.Serializable;
import condition.Condition; import condition.Condition;
import effet.Effet; import effet.Effet;
import effet.EffetChoisirCible;
import effet.EffetSelf;
import main.Joueur; import main.Joueur;
import main.Type;
public class CartePiochable<T extends Type> extends CarteCondition implements Serializable{ public class CartePiochable extends CarteCondition implements Serializable{
private static final long serialVersionUID = 2391013233873750967L; private static final long serialVersionUID = 2391013233873750967L;
private Type type;
public CartePiochable(String nom, String description) { public enum Type{
LUMIERE,
TENEBRE,
VISION
}
public CartePiochable(Type t, String nom, String description) {
super(nom, description); super(nom, description);
} }
public CartePiochable(Effet e, Condition c) { public CartePiochable(Type t, Effet e, Condition c) {
super(); super();
this.setEffet(e); this.setEffet(e);
this.setCondition(c); this.setCondition(c);
} }
public CartePiochable(Effet effet) { public CartePiochable(Type t, Effet effet) {
super(); super();
this.type = t;
this.setEffet(effet); this.setEffet(effet);
this.setCondition(new Condition()); this.setCondition(new Condition());
} }
@ -37,4 +42,8 @@ public class CartePiochable<T extends Type> extends CarteCondition implements Se
super.utiliser(j); super.utiliser(j);
} }
public Type getType() {
return type;
}
} }

View File

@ -1,5 +1,8 @@
package database; package database;
import java.io.IOException;
import java.sql.SQLException;
import carte.CarteEquipementStat; import carte.CarteEquipementStat;
import carte.CartePiochable; import carte.CartePiochable;
import condition.ConditionClassPersonnage; import condition.ConditionClassPersonnage;
@ -40,207 +43,204 @@ public class CreatingCardsTest {
// Lumière // Lumière
//Ange gardien //Ange gardien
insert(2,new CartePiochable<TypeLumiere>( try {
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_IMMUNITY, 1, true)))); QueryGenerator.queryInsertObject(2,new CartePiochable(CartePiochable.Type.LUMIERE,
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_IMMUNITY, 1, true))));
//Avénement suprême
QueryGenerator.queryInsertObject(3,new CartePiochable(CartePiochable.Type.LUMIERE,
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 20, true))
,new ConditionMultiple(new ConditionEquipe(CartePersonnage.Equipe.HUNTER), new ConditionReveal())
));
//Avénement suprême //Barre de chocolat
insert(3,new CartePiochable<TypeLumiere>(
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 20, true))
,new ConditionMultiple(new ConditionEquipe(CartePersonnage.Equipe.HUNTER), new ConditionReveal())
));
//Barre de chocolat QueryGenerator.queryInsertObject(4,new CartePiochable(CartePiochable.Type.LUMIERE,
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 20, true))
,new ConditionMultiple(new ConditionClassPersonnage(Allie.class,Emi.class,Metamorphe.class), new ConditionReveal())
));
insert(4,new CartePiochable<TypeLumiere>( //Bénédiction
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 20, true))
,new ConditionMultiple(new ConditionClassPersonnage(Allie.class,Emi.class,Metamorphe.class), new ConditionReveal())
));
//Bénédiction QueryGenerator.queryInsertObject(5,new CartePiochable(CartePiochable.Type.LUMIERE,new EffetChoisirCible(new ActionAltererStatistiquesJoueurRoll(Joueur.PLAYER_HP,6, true))));
insert(5,new CartePiochable<TypeLumiere>(new EffetChoisirCible(new ActionAltererStatistiquesJoueurRoll(Joueur.PLAYER_HP,6, true)))); // BOUSSOLE mystique
// 6
// BOUSSOLE mystique // 7
// 6 // 8
// 7 // Eau bénite
QueryGenerator.queryInsertObject(9,new CartePiochable(CartePiochable.Type.LUMIERE,new EffetSelf(new ActionAltererStatistiquesJoueurRoll(Joueur.PLAYER_HP,2, true))));
QueryGenerator.queryInsertObject(10,new CartePiochable(CartePiochable.Type.LUMIERE,new EffetSelf(new ActionAltererStatistiquesJoueurRoll(Joueur.PLAYER_HP,2, true))));
// 8 // Eclair purificateur
// Eau bénite QueryGenerator.queryInsertObject(11,new CartePiochable(CartePiochable.Type.LUMIERE,new EffetCiblerTous(new ActionAltererStatistiquesJoueurRoll(Joueur.PLAYER_HP, -2, true))));
insert(9,new CartePiochable<TypeLumiere>(new EffetSelf(new ActionAltererStatistiquesJoueurRoll(Joueur.PLAYER_HP,2, true))));
insert(10,new CartePiochable<TypeLumiere>(new EffetSelf(new ActionAltererStatistiquesJoueurRoll(Joueur.PLAYER_HP,2, true))));
// Eclair purificateur // Lance de longinus
insert(11,new CartePiochable<TypeLumiere>(new EffetCiblerTous(new ActionAltererStatistiquesJoueurRoll(Joueur.PLAYER_HP, -2, true)))); QueryGenerator.queryInsertObject(12,new CarteEquipementStat(CartePiochable.Type.LUMIERE,
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 2, true))
,new ConditionMultiple(new ConditionEquipe(CartePersonnage.Equipe.HUNTER), new ConditionReveal())
));
// Lance de longinus // Miroir divin
insert(12,new CarteEquipementStat<TypeLumiere>( QueryGenerator.queryInsertObject(13,new CartePiochable(CartePiochable.Type.LUMIERE,new EffetSelf(new ActionReveal()),new ConditionClassPersonnage(Vampire.class,LoupGarou.class)));
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 2, true))
,new ConditionMultiple(new ConditionEquipe(CartePersonnage.Equipe.HUNTER), new ConditionReveal())
));
// Miroir divin
insert(13,new CartePiochable<TypeLumiere>(new EffetSelf(new ActionReveal()),new ConditionClassPersonnage(Vampire.class,LoupGarou.class))); // Premiers secours
QueryGenerator.queryInsertObject(14, new CartePiochable(CartePiochable.Type.LUMIERE,new EffetCiblerTous(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 7, false))));
// Premiers secours
insert(14, new CartePiochable<TypeLumiere>(new EffetCiblerTous(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 7, false)))); //Savoir ancestral
QueryGenerator.queryInsertObject(15, new CartePiochable(CartePiochable.Type.LUMIERE,new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_TURN, 1, true))));
//Savoir ancestral
insert(15, new CartePiochable<TypeLumiere>(new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_TURN, 1, true))));
//Toge sainte
QueryGenerator.queryInsertObject(16, new CartePiochable(CartePiochable.Type.LUMIERE,new EffetSelf(new ActionMultiple(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_RESISTANCE, 1, true),new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, -1, true)))));
//Toge sainte
insert(16, new CartePiochable<TypeLumiere>(new EffetSelf(new ActionMultiple(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_RESISTANCE, 1, true),new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, -1, true))))); // Ténèbre
// Araignée Sanguinaire
// Ténèbre QueryGenerator.queryInsertObject(17, new CartePiochable(CartePiochable.Type.TENEBRE,new EffetMultiple(new EffetCiblerTous(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)),
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)))));
// Araignée Sanguinaire
insert(17, new CartePiochable<TypeTenebre>(new EffetMultiple(new EffetCiblerTous(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)), // Chauve - souris vampire
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)))));
QueryGenerator.queryInsertObject(18, new CartePiochable(CartePiochable.Type.TENEBRE,new EffetMultiple(new EffetCiblerTous(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)),
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 1, true)))));
// Chauve - souris vampire QueryGenerator.queryInsertObject(19, new CartePiochable(CartePiochable.Type.TENEBRE,new EffetMultiple(new EffetCiblerTous(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)),
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 1, true)))));
insert(18, new CartePiochable<TypeTenebre>(new EffetMultiple(new EffetCiblerTous(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)), QueryGenerator.queryInsertObject(20, new CartePiochable(CartePiochable.Type.TENEBRE,new EffetMultiple(new EffetCiblerTous(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)),
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 1, true))))); new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 1, true)))));
insert(19, new CartePiochable<TypeTenebre>(new EffetMultiple(new EffetCiblerTous(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)), // Dynamite
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 1, true)))));
insert(20, new CartePiochable<TypeTenebre>(new EffetMultiple(new EffetCiblerTous(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)), // 21
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 1, true)))));
// Dynamite
// 21 // Hache tueuse
QueryGenerator.queryInsertObject(22,new CarteEquipementStat(CartePiochable.Type.TENEBRE,
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 1, true))));
// Hachoir maudit
QueryGenerator.queryInsertObject(23,new CarteEquipementStat(CartePiochable.Type.TENEBRE,
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 1, true))));
// Hache tueuse
insert(22,new CarteEquipementStat<TypeTenebre>(
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 1, true))));
// Hachoir maudit // Mitrailleuse funeste
insert(23,new CarteEquipementStat<TypeTenebre>( // 24
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 1, true))));
// Peau de banane
// 25
// Mitrailleuse funeste // Poupé démoniaque
// 24 // 26
// Peau de banane QueryGenerator.queryInsertObject(28,new CartePiochable(CartePiochable.Type.TENEBRE,
// 25 new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 20, true))
,new ConditionMultiple(new ConditionEquipe(CartePersonnage.Equipe.SHADOW), new ConditionReveal())
));
// Poupé démoniaque // 29
// 26
insert(28,new CartePiochable<TypeTenebre>( QueryGenerator.queryInsertObject(30,new CartePiochable(CartePiochable.Type.TENEBRE,
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 20, true)) new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER))));
,new ConditionMultiple(new ConditionEquipe(CartePersonnage.Equipe.SHADOW), new ConditionReveal())
));
// 29 QueryGenerator.queryInsertObject(31,new CartePiochable(CartePiochable.Type.TENEBRE,
new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER))));
insert(30,new CartePiochable<TypeTenebre>( QueryGenerator.queryInsertObject(32,new CarteEquipementStat(CartePiochable.Type.TENEBRE,
new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER)))); new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 1, true))));
insert(31,new CartePiochable<TypeTenebre>(
new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER))));
insert(32,new CarteEquipementStat<TypeTenebre>( // Vision clairvoyante
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 1, true)))); QueryGenerator.queryInsertObject(33, new CartePiochable(CartePiochable.Type.VISION,new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -1, true)),
new ConditionStatistiques(ConditionStatistiques.JOUEUR, Joueur.PLAYER_HP, 11, ConditionStatistiques.LESS)));
// Vision cupide
// Vision clairvoyante QueryGenerator.queryInsertObject(34,new CartePiochable(CartePiochable.Type.VISION,new EffetChoisirEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.DONNER)),new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true))),
insert(33, new CartePiochable<TypeVision>(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -1, true)), new ConditionEquipe(CartePersonnage.Equipe.NEUTRE,CartePersonnage.Equipe.SHADOW)));
new ConditionStatistiques(ConditionStatistiques.JOUEUR, Joueur.PLAYER_HP, 11, ConditionStatistiques.LESS)));
// Vision cupide QueryGenerator.queryInsertObject(35,new CartePiochable(CartePiochable.Type.VISION,new EffetChoisirEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.DONNER)),new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true))),
new ConditionEquipe(CartePersonnage.Equipe.NEUTRE,CartePersonnage.Equipe.SHADOW)));
insert(34,new CartePiochable<TypeVision>(new EffetChoisirEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.DONNER)),new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true))),
new ConditionEquipe(CartePersonnage.Equipe.NEUTRE,CartePersonnage.Equipe.SHADOW)));
insert(35,new CartePiochable<TypeVision>(new EffetChoisirEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.DONNER)),new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true))), // Vision destructrice
new ConditionEquipe(CartePersonnage.Equipe.NEUTRE,CartePersonnage.Equipe.SHADOW)));
QueryGenerator.queryInsertObject(36, new CartePiochable(CartePiochable.Type.VISION,new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)),
new ConditionStatistiques(ConditionStatistiques.JOUEUR, Joueur.PLAYER_HP, 12, ConditionStatistiques.MORE)));
// Vision destructrice
insert(36, new CartePiochable<TypeVision>(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)), // Vision divine
new ConditionStatistiques(ConditionStatistiques.JOUEUR, Joueur.PLAYER_HP, 12, ConditionStatistiques.MORE)));
// Vision enivrante
// Vision divine QueryGenerator.queryInsertObject(38,new CartePiochable(CartePiochable.Type.VISION,new EffetChoisirEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.DONNER)),new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true))),
new ConditionEquipe(CartePersonnage.Equipe.NEUTRE,CartePersonnage.Equipe.SHADOW)));
// Vision enivrante QueryGenerator.queryInsertObject(39,new CartePiochable(CartePiochable.Type.VISION,new EffetChoisirEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.DONNER)),new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true))),
new ConditionEquipe(CartePersonnage.Equipe.NEUTRE,CartePersonnage.Equipe.SHADOW)));
insert(38,new CartePiochable<TypeVision>(new EffetChoisirEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.DONNER)),new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true))), // Vision Foudroyante
new ConditionEquipe(CartePersonnage.Equipe.NEUTRE,CartePersonnage.Equipe.SHADOW)));
insert(39,new CartePiochable<TypeVision>(new EffetChoisirEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.DONNER)),new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true))), QueryGenerator.queryInsertObject(40,new CartePiochable(CartePiochable.Type.VISION,new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true)),
new ConditionEquipe(CartePersonnage.Equipe.NEUTRE,CartePersonnage.Equipe.SHADOW))); new ConditionEquipe(CartePersonnage.Equipe.SHADOW)));
// Vision Foudroyante
insert(40,new CartePiochable<TypeVision>(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true)), // Vision furtive
new ConditionEquipe(CartePersonnage.Equipe.SHADOW)));
QueryGenerator.queryInsertObject(41,new CartePiochable(CartePiochable.Type.VISION,new EffetChoisirEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.DONNER)),new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true))),
new ConditionEquipe(CartePersonnage.Equipe.HUNTER,CartePersonnage.Equipe.SHADOW)));
// Vision furtive QueryGenerator.queryInsertObject(42,new CartePiochable(CartePiochable.Type.VISION,new EffetChoisirEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.DONNER)),new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true))),
new ConditionEquipe(CartePersonnage.Equipe.HUNTER,CartePersonnage.Equipe.SHADOW)));
insert(41,new CartePiochable<TypeVision>(new EffetChoisirEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.DONNER)),new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true))), // Vision Mortifère
new ConditionEquipe(CartePersonnage.Equipe.HUNTER,CartePersonnage.Equipe.SHADOW)));
insert(42,new CartePiochable<TypeVision>(new EffetChoisirEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.DONNER)),new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true))), QueryGenerator.queryInsertObject(43,new CartePiochable(CartePiochable.Type.VISION,new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true)),
new ConditionEquipe(CartePersonnage.Equipe.HUNTER,CartePersonnage.Equipe.SHADOW))); new ConditionEquipe(CartePersonnage.Equipe.SHADOW)));
// Vision Mortifère
insert(43,new CartePiochable<TypeVision>(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true)), // Vision lugubre
new ConditionEquipe(CartePersonnage.Equipe.SHADOW)));
QueryGenerator.queryInsertObject(45,new CartePiochable(CartePiochable.Type.VISION,new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-2,true)),
new ConditionEquipe(CartePersonnage.Equipe.SHADOW)));
// Vision lugubre // Vision réconfortante
insert(45,new CartePiochable<TypeVision>(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-2,true)), // Vision suprême
new ConditionEquipe(CartePersonnage.Equipe.SHADOW)));
// Vision réconfortante QueryGenerator.queryInsertObject(48,new Allie());
QueryGenerator.queryInsertObject(49,new Bob());
QueryGenerator.queryInsertObject(50,new Charles());
// Vision suprême QueryGenerator.queryInsertObject(51,new Daniel());
QueryGenerator.queryInsertObject(52,new Emi());
QueryGenerator.queryInsertObject(53,new Franklin());
insert(48,new Allie(null)); QueryGenerator.queryInsertObject(54,new Georges());
insert(49,new Bob(null)); QueryGenerator.queryInsertObject(55,new LoupGarou());
insert(50,new Charles(null)); QueryGenerator.queryInsertObject(56,new Metamorphe());
QueryGenerator.queryInsertObject(57,new Vampire());
insert(51,new Daniel(null)); } catch (IOException | SQLException e) {
insert(52,new Emi(null)); // TODO Auto-generated catch block
insert(53,new Franklin(null)); e.printStackTrace();
}
insert(54,new Georges(null));
insert(55,new LoupGarou(null));
insert(56,new Metamorphe(null));
insert(57,new Vampire(null));
} }
public static void insert(int row, Object obj) {
}
} }

View File

@ -48,6 +48,22 @@ public class QueryGenerator {
return DriverManager.getConnection(url, user, password); return DriverManager.getConnection(url, user, password);
} }
public static String selectId(int id) {
String table = "";
if(id <= 16) {
table = getTable("CartesLumiere");
} else if(id <= 32) {
table = getTable("CartesTenebre");
} else if(id <= 47) {
table = getTable("CartesVision");
} else if(id <= 57) {
table = getTable("CartesPersonnage");
} else if(id <= 61) {
table = getTable("CartesDos");
}
return "SELECT * FROM " + table + " WHERE id = " + id;
}
public static void queryInsertObject(int id, Object o) throws IOException, SQLException { public static void queryInsertObject(int id, Object o) throws IOException, SQLException {
String table = null; String table = null;
@ -76,13 +92,13 @@ public class QueryGenerator {
} }
String query = null; String query = null;
query = "UPDATE" + table + " SET objet = "; query = "UPDATE " + table + " SET objet = ? "
+ " WHERE id = ? " ;
Connection conn = connect(); Connection conn = connect();
PreparedStatement pst = conn.prepareStatement(query); PreparedStatement pst = conn.prepareStatement(query);
pst.setBinaryStream(4, objectIS); pst.setBinaryStream(1, objectIS);
pst.setInt(2, id);
pst.executeUpdate(); pst.executeUpdate();
} }
} }

View File

@ -2,39 +2,36 @@ package database;
public class Record { public class Record {
private int id; private String id;
private String nom; private String nom;
private byte[] img; private byte[] img;
private byte[] objetJava; private byte[] obj;
public Record() { public Record() {
this(0, null, null, null); this("0", "", null);
} }
public Record(String n, byte[] b) { public Record(String n, byte[] b) {
this(0, n, b); this.nom = n;
this.img = b;
} }
public Record(String number, String n, byte[] b) { public Record(String number, String n, byte[] b) {
this(Integer.parseInt(number), n, b); this.id = number;
this.nom = n;
this.img = b;
} }
public Record(String number, String n, byte[] b, byte[] o) {
this(Integer.parseInt(number), n, b, o);
}
public Record(int i, String n, byte[] b) { public Record(String i, String n, byte[] b, byte[] obj) {
this(i, n, b, null);
}
public Record(int i, String n, byte[] b, byte[] o) {
this.id = i; this.id = i;
this.nom = n; this.nom = n;
this.img = b; this.img = b;
this.objetJava = o; this.obj = obj;
} }
public int getId() { public String getId() {
return id; return id;
} }
@ -46,13 +43,13 @@ public class Record {
return img; return img;
} }
public byte[] getObjetJava() {
return objetJava;
}
@Override @Override
public String toString() { public String toString() {
return String.format("%-20.30s %-30.30s %-20.30s %-20.30s%n", this.getId(), this.getNom(), this.getImg(), this.getObjetJava()); return String.format("%-20.30s %-30.30s %-20.30s %-20.30s%n", this.getId(), this.getNom(), this.getImg(), this.getObjet());
}
public byte[] getObjet() {
return this.obj;
} }
} }

View File

@ -0,0 +1,74 @@
package database;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.util.HashMap;
import java.util.Map;
import carte.Carte;
import carte.CartePiochable;
public class RessourceLoader {
private static Map<Integer, Carte> loadCards() throws ClassNotFoundException, IOException{
Table t = new Table();
Map<Integer, Carte> cartes = new HashMap<Integer,Carte>();
for(int i = 0; i < 61; i++) {
String query = QueryGenerator.selectId(i+1);
t.remplirTableQuery(query);
byte[] obj = t.getList().get(i).getObjet();
if(obj != null) {
Object o = deserialize(obj);
Carte c = (Carte)o;
cartes.put(i+1, c);
}
}
return cartes;
}
private static Map<Integer, CartePiochable> getMapType(CartePiochable.Type t, Map<Integer, Carte> cartes){
Map<Integer, CartePiochable> cartesType = new HashMap<Integer, CartePiochable>();
for(Integer i: cartes.keySet()) {
Carte c = cartes.get(i);
if(cartes.get(i) instanceof CartePiochable) {
CartePiochable carte = (CartePiochable) c;
CartePiochable.Type type = carte.getType();
if(t == type) {
cartesType.put(i,carte);
}
}
}
return cartesType;
}
public static Object deserialize(byte[] data) throws IOException, ClassNotFoundException {
ByteArrayInputStream in = new ByteArrayInputStream(data);
ObjectInputStream is = new ObjectInputStream(in);
return is.readObject();
}
public static void main(String[] args) {
try {
Map<Integer, Carte> cartes = loadCards();
System.out.println(cartes);
System.out.println(getMapType(CartePiochable.Type.TENEBRE, cartes));
} catch (ClassNotFoundException | IOException e) {
e.printStackTrace();
}
}
}

View File

@ -1,5 +1,10 @@
package database; package database;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -8,6 +13,10 @@ public class Table {
private String name; private String name;
private List<Record> list = new ArrayList<Record>(); private List<Record> list = new ArrayList<Record>();
public Table() {
this.name = "";
}
public Table(String JavaTableName) { public Table(String JavaTableName) {
this.name = JavaTableName; this.name = JavaTableName;
} }
@ -16,6 +25,23 @@ public class Table {
this.list = DatabaseManager.remplirTable(query); this.list = DatabaseManager.remplirTable(query);
} }
public void remplirTableQuery(String query) {
try (Connection connection = DriverManager.getConnection("jdbc:postgresql://localhost:5432/ShadowHunterDatabase", "shManager", "shadowhunter1234")) { //notre utilisateur que l'on utilisera (:
System.out.println("Connected to PostgreSQL database!");
Statement statement = connection.createStatement();
System.out.println("Reading records...");
ResultSet retour = statement.executeQuery(query);
while (retour.next()) {
list.add(new Record(retour.getString("id"), retour.getString("nom"), null, retour.getBytes("objet")));
}
} catch (SQLException e) {
System.out.println("Connection failure.");
e.printStackTrace();
}
}
protected String getName() { protected String getName() {
return name; return name;
} }

View File

@ -1,33 +1,14 @@
package database; package database;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import carte.CartePiochable;
import condition.Condition;
import effet.EffetSelf;
import effet.action.ActionAltererStatistiquesJoueur;
import main.Joueur;
public class TestAddingCard { public class TestAddingCard {
private final static String url = "jdbc:postgresql://localhost:5432/ShadowHunterDatabase"; private final static String url = "jdbc:postgresql://localhost:5432/ShadowHunterDatabase";
private final static String user = "shManager"; private final static String user = "shManager";
private final static String password = "shadowhunter1234"; private final static String password = "shadowhunter1234";
/*
public static void main(String[] args) { public static void main(String[] args) {
CartePiochable<?> instance = new CartePiochable(new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 2, true)), new Condition()); CartePiochable instance = new CartePiochable(new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 2, true)), new Condition());
try { try {
insertCartePiochable(instance); insertCartePiochable(instance);
@ -42,7 +23,7 @@ public class TestAddingCard {
return DriverManager.getConnection(url, user, password); return DriverManager.getConnection(url, user, password);
} }
public static void insertCartePiochable(CartePiochable<?> instance) throws IOException, SQLException { public static void insertCartePiochable(Carte instance) throws IOException, SQLException {
ByteArrayOutputStream baos = new ByteArrayOutputStream(); ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos; ObjectOutputStream oos;
@ -80,5 +61,5 @@ public class TestAddingCard {
ObjectInputStream is = new ObjectInputStream(in); ObjectInputStream is = new ObjectInputStream(in);
return (CartePiochable<?>) is.readObject(); return (CartePiochable<?>) is.readObject();
} }*/
} }

View File

@ -57,4 +57,9 @@ public class ActionAltererStatistiquesJoueur extends Action{
public void setValeur(int valeur) { public void setValeur(int valeur) {
this.valeur = valeur; this.valeur = valeur;
} }
@Override
public String toString(){
return this.key+" "+this.valeur+" "+this.ajouter;
}
} }

View File

@ -38,7 +38,7 @@ public class ActionVoler extends Action{
List<CarteEquipement> equipements = j2.getEquipements(); List<CarteEquipement> equipements = j2.getEquipements();
// J1 choisit quel équipement voler // J1 choisit quel équipement voler
CarteEquipement<?> equipement = j1.choisir(equipements); CarteEquipement equipement = j1.choisir(equipements);
j1.voler(j2,equipement); j1.voler(j2,equipement);
}else { }else {
@ -46,7 +46,7 @@ public class ActionVoler extends Action{
List<CarteEquipement> equipements = j1.getEquipements(); List<CarteEquipement> equipements = j1.getEquipements();
// J1 choisit quel équipement voler // J1 choisit quel équipement voler
CarteEquipement<?> equipement = j1.choisir(equipements); CarteEquipement equipement = j1.choisir(equipements);
j2.voler(j1,equipement); j2.voler(j1,equipement);

View File

@ -6,13 +6,19 @@ import java.util.Stack;
import carte.CartePiochable; import carte.CartePiochable;
public class Pioche<T extends Type> { public class Pioche {
private Stack<CartePiochable<T>> cartesPiochables; private Stack<CartePiochable> cartesPiochables;
private CartePiochable.Type type;
public Pioche(List<CartePiochable<T>> cartesPiochables) { public Pioche(List<CartePiochable> cartesPiochables) {
}
public Pioche(CartePiochable.Type type, List<CartePiochable> list1) {
super(); super();
this.cartesPiochables = new Stack<CartePiochable<T>>(); this.type = type;
this.cartesPiochables = new Stack<CartePiochable>();
this.cartesPiochables.addAll(cartesPiochables); this.cartesPiochables.addAll(cartesPiochables);
melanger(); melanger();
} }
@ -22,7 +28,7 @@ public class Pioche<T extends Type> {
Collections.shuffle(cartesPiochables); Collections.shuffle(cartesPiochables);
} }
public CartePiochable<?> piocher() { public CartePiochable piocher() {
return cartesPiochables.pop(); return cartesPiochables.pop();
} }
} }

View File

@ -61,31 +61,31 @@ public class Plateau extends Thread{
this.stats.put(NB_SHADOWS, 0); this.stats.put(NB_SHADOWS, 0);
this.stats.put(NB_NEUTRES, 0); this.stats.put(NB_NEUTRES, 0);
List<CartePiochable<TypeLumiere>> list1 = new ArrayList<>(); List<CartePiochable> list1 = new ArrayList<>();
List<CartePiochable<TypeTenebre>> list2 = new ArrayList<>(); List<CartePiochable> list2 = new ArrayList<>();
for(int i = 0; i < 60; i++) { for(int i = 0; i < 60; i++) {
CartePiochable<TypeLumiere> carte1 = new CartePiochable<TypeLumiere>("Eau bénite", "Soin 2"); CartePiochable carte1 = new CartePiochable(CartePiochable.Type.LUMIERE,"Eau bénite", "Soin 2");
carte1.setEffet(new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 2, true))); carte1.setEffet(new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 2, true)));
list1.add(carte1); list1.add(carte1);
CartePiochable<TypeTenebre> carte2 = new CartePiochable<TypeTenebre>("Eau maudite", "Damage 2"); CartePiochable carte2 = new CartePiochable(CartePiochable.Type.TENEBRE,"Eau maudite", "Damage 2");
carte2.setEffet(new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true))); carte2.setEffet(new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)));
list2.add(carte2); list2.add(carte2);
} }
Pioche<TypeLumiere> piocheLumiere = new Pioche<TypeLumiere>(list1); Pioche piocheLumiere = new Pioche(list1);
Pioche<TypeTenebre> piocheTenebre = new Pioche<TypeTenebre>(list2); Pioche piocheTenebre = new Pioche(list2);
CarteLieu lieu1 = new CarteLieuType<TypeTenebre>("Antre de l'Ermite","desc",new Point(2,3),piocheTenebre); CarteLieu lieu1 = new CarteLieuType(CartePiochable.Type.TENEBRE,"Antre de l'Ermite","desc",new Point(2,3),piocheTenebre);
CarteLieu lieu2 = new CarteLieuType<TypeTenebre>("Cimetière","desc",new Point(-1,8),piocheTenebre); CarteLieu lieu2 = new CarteLieuType(CartePiochable.Type.TENEBRE,"Cimetière","desc",new Point(-1,8),piocheTenebre);
CarteLieu lieu3 = new CarteLieu("Forêt hantée","desc",new Point(-1,9)); CarteLieu lieu3 = new CarteLieu("Forêt hantée","desc",new Point(-1,9));
lieu3.setEffet(new EffetChoisirEffet(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-2,true)), lieu3.setEffet(new EffetChoisirEffet(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-2,true)),
new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,1,true)))); new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,1,true))));
CarteLieu lieu4 = new CarteLieuType<TypeLumiere>("Monastère","desc",new Point(-1,6),piocheLumiere); CarteLieu lieu4 = new CarteLieuType(CartePiochable.Type.LUMIERE,"Monastère","desc",new Point(-1,6),piocheLumiere);
CarteLieu lieu5 = new CarteLieuType<TypeTenebre>("Sanctuaire Ancien","desc",new Point(4,5),piocheTenebre); CarteLieu lieu5 = new CarteLieuType(CartePiochable.Type.TENEBRE,"Sanctuaire Ancien","desc",new Point(4,5),piocheTenebre);
CarteLieu lieu6 = new CarteLieu("Sanctuaire Ancien","desc",new Point(-1,9)); CarteLieu lieu6 = new CarteLieu("Sanctuaire Ancien","desc",new Point(-1,9));
lieu6.setEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER))); lieu6.setEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER)));

View File

@ -20,6 +20,7 @@ public class Allie extends Unique{
*/ */
private static final long serialVersionUID = 8822533547275463314L; private static final long serialVersionUID = 8822533547275463314L;
public Allie(Joueur joueur) { public Allie(Joueur joueur) {
super("ALLIE","desc", 8, joueur); super("ALLIE","desc", 8, joueur);

View File

@ -18,6 +18,14 @@ public class Charles extends CartePersonnage{
} }
public Charles() {
super("Charles", "desc", 11, null);
Action action = new ActionAltererStatistiquesJoueur("HP",-2,true);
Effet effet = new EffetSelf(action);
this.setEffet(effet);
}
@Override @Override
public void attaquer(Joueur j, int blessure) { public void attaquer(Joueur j, int blessure) {

View File

@ -20,6 +20,22 @@ public class Daniel extends CartePersonnage{
public static final int HP = 13; public static final int HP = 13;
public Daniel() {
super("Daniel","desc", HP, null);
List<Condition> conditions = new ArrayList<Condition>();
List<Condition> conditions2 = new ArrayList<Condition>();
conditions.add(new WinConditionHunter());
conditions2.add(new ConditionStatistiques(ConditionStatistiques.JOUEUR, Joueur.PLAYER_HP, 0, ConditionStatistiques.LESS));
conditions2.add(new ConditionStatistiques(ConditionStatistiques.PLATEAU, Plateau.NB_MORTS, 1, ConditionStatistiques.LESS));
conditions.add(new ConditionMultiple(conditions2));
Condition winCondition = new ConditionMultipleOR(conditions);
this.setCondition(winCondition);
}
public Daniel(Joueur j) { public Daniel(Joueur j) {
super("Daniel","desc", HP, j); super("Daniel","desc", HP, j);
@ -58,6 +74,8 @@ public class Daniel extends CartePersonnage{
public void utiliser() { public void utiliser() {
this.getJoueur().reveal(); this.getJoueur().reveal();
} }

View File

@ -7,6 +7,12 @@ public class Emi extends CartePersonnage{
public static final int HP = 13; public static final int HP = 13;
public Emi() {
super("EMI","desc", HP, null);
this.setCondition(new WinConditionHunter());
}
public Emi(Joueur j) { public Emi(Joueur j) {
super("EMI","desc", HP, j); super("EMI","desc", HP, j);
@ -24,6 +30,8 @@ public class Emi extends CartePersonnage{
public void deplacer() { public void deplacer() {
} }

View File

@ -6,6 +6,11 @@ import main.Plateau;
public class Georges extends Unique{ public class Georges extends Unique{
public Georges() {
super("Franklin", "desc", 14, null);
this.setCondition(new WinConditionHunter());
this.setEquipe(CartePersonnage.Equipe.HUNTER);
}
public Georges(Joueur joueur) { public Georges(Joueur joueur) {
super("Franklin", "desc", 14, joueur); super("Franklin", "desc", 14, joueur);
@ -19,6 +24,8 @@ public class Georges extends Unique{
this.setEquipe(CartePersonnage.Equipe.HUNTER); this.setEquipe(CartePersonnage.Equipe.HUNTER);
} }
public void utiliser() { public void utiliser() {
Joueur joueur = this.getJoueur(); Joueur joueur = this.getJoueur();

View File

@ -5,8 +5,18 @@ import main.Joueur;
public class LoupGarou extends CartePersonnage { public class LoupGarou extends CartePersonnage {
/**
*
*/
public static final int HP = 14; public static final int HP = 14;
public LoupGarou() {
super("LOUP-GAROU","desc", HP, null);
this.setCondition(new WinConditionShadow());
this.setEquipe(CartePersonnage.Equipe.SHADOW);
}
public LoupGarou(Joueur j) { public LoupGarou(Joueur j) {
super("LOUP-GAROU","desc", HP, j); super("LOUP-GAROU","desc", HP, j);
this.setCondition(new WinConditionShadow()); this.setCondition(new WinConditionShadow());
@ -19,8 +29,6 @@ public class LoupGarou extends CartePersonnage {
this.setCondition(new WinConditionShadow()); this.setCondition(new WinConditionShadow());
} }
public void utiliser() { public void utiliser() {
} }

View File

@ -11,6 +11,11 @@ public class Metamorphe extends CartePersonnage{
private static final long serialVersionUID = 8415184267445994107L; private static final long serialVersionUID = 8415184267445994107L;
public final static int HP = 11; public final static int HP = 11;
public Metamorphe() {
super("METAMORPHE","desc", HP, null);
this.setCondition(new WinConditionShadow());
}
public Metamorphe(Joueur j) { public Metamorphe(Joueur j) {
super("METAMORPHE","desc", HP, j); super("METAMORPHE","desc", HP, j);
this.setCondition(new WinConditionShadow()); this.setCondition(new WinConditionShadow());
@ -21,8 +26,6 @@ public class Metamorphe extends CartePersonnage{
this.setCondition(new WinConditionShadow()); this.setCondition(new WinConditionShadow());
} }
public void utiliser() { public void utiliser() {
} }
} }

View File

@ -51,7 +51,7 @@ class GestionnaireEquipementsTest {
for(int i = 0; i < 20; i++) { for(int i = 0; i < 20; i++) {
CarteEquipementStat es = new CarteEquipementStat("AddDamage", "desc"); CarteEquipementStat es = new CarteEquipementStat(null,null);
es.setEffet(new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 2, true))); es.setEffet(new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 2, true)));
es.setCondition(new Condition()); es.setCondition(new Condition());
j1.ajouterEquipement(es); j1.ajouterEquipement(es);
@ -67,7 +67,7 @@ class GestionnaireEquipementsTest {
for(int i = 0; i < 20; i++) { for(int i = 0; i < 20; i++) {
CarteEquipementStat es = new CarteEquipementStat("AddDamage", "desc"); CarteEquipementStat es = new CarteEquipementStat(null,null);
es.setEffet(new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, valeurEffet, true))); es.setEffet(new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, valeurEffet, true)));
es.setCondition(new Condition()); es.setCondition(new Condition());
j1.ajouterEquipement(es); j1.ajouterEquipement(es);
@ -81,7 +81,7 @@ class GestionnaireEquipementsTest {
int valeurEffet = 3; int valeurEffet = 3;
CarteEquipementStat es = new CarteEquipementStat("AddDamage", "desc"); CarteEquipementStat es = new CarteEquipementStat(null,null);
es.setEffet(new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, valeurEffet, true))); es.setEffet(new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, valeurEffet, true)));
es.setCondition(new Condition()); es.setCondition(new Condition());
j1.ajouterEquipement(es); j1.ajouterEquipement(es);

View File

@ -237,9 +237,9 @@ public class IATest {
public void choixEquipementTest() { public void choixEquipementTest() {
//setup //setup
List<CarteEquipement> equips = new ArrayList<>(); List<CarteEquipement> equips = new ArrayList<>();
equips.add(new CarteEquipementEffet("lol","mdr")); equips.add(new CarteEquipementEffet(null,null));
equips.add(new CarteEquipementEffet("lol1","mdr1")); equips.add(new CarteEquipementEffet(null,null));
equips.add(new CarteEquipementStat("lol2","mdr2")); equips.add(new CarteEquipementStat(null,null));
//on choisit l'equipement avec les stat en priorite //on choisit l'equipement avec les stat en priorite
assertTrue(jIA.choisirEquipement(equips) instanceof CarteEquipementStat); assertTrue(jIA.choisirEquipement(equips) instanceof CarteEquipementStat);

View File

@ -54,33 +54,33 @@ class PlateauTest {
p = new Plateau(joueurs); p = new Plateau(joueurs);
List<CartePiochable<TypeLumiere>> list1 = new ArrayList<>(); List<CartePiochable> list1 = new ArrayList<>();
List<CartePiochable<TypeTenebre>> list2 = new ArrayList<>(); List<CartePiochable> list2 = new ArrayList<>();
for(int i = 0; i < 60; i++) { for(int i = 0; i < 60; i++) {
CartePiochable<TypeLumiere> carte1 = new CartePiochable<TypeLumiere>("Eau bénite", "Soin 2"); CartePiochable carte1 = new CartePiochable(CartePiochable.Type.LUMIERE,"Eau bénite", "Soin 2");
carte1.setEffet(new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 2, true))); carte1.setEffet(new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 2, true)));
list1.add(carte1); list1.add(carte1);
CartePiochable<TypeTenebre> carte2 = new CartePiochable<TypeTenebre>("Eau maudite", "Damage 2"); CartePiochable carte2 = new CartePiochable(CartePiochable.Type.TENEBRE,"Eau maudite", "Damage 2");
carte2.setEffet(new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true))); carte2.setEffet(new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)));
list2.add(carte2); list2.add(carte2);
} }
Pioche<TypeLumiere> piocheLumiere = new Pioche<TypeLumiere>(list1); Pioche piocheLumiere = new Pioche(CartePiochable.Type.LUMIERE,list1);
Pioche<TypeTenebre> piocheTenebre = new Pioche<TypeTenebre>(list2); Pioche piocheTenebre = new Pioche(CartePiochable.Type.TENEBRE,list2);
CarteLieu lieu1 = new CarteLieuType<TypeTenebre>("Antre de l'Ermite","desc",new Point(2,3),piocheTenebre); CarteLieu lieu1 = new CarteLieuType(CartePiochable.Type.TENEBRE,"Antre de l'Ermite","desc",new Point(2,3),piocheTenebre);
CarteLieu lieu2 = new CarteLieuType<TypeTenebre>("Cimetière","desc",new Point(-1,8),piocheTenebre); CarteLieu lieu2 = new CarteLieuType(CartePiochable.Type.TENEBRE,"Cimetière","desc",new Point(-1,8),piocheTenebre);
CarteLieu lieu3 = new CarteLieu("Forêt hantée","desc",new Point(-1,9)); CarteLieu lieu3 = new CarteLieu("Forêt hantée","desc",new Point(-1,9));
lieu3.setEffet(new EffetChoisirEffet(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-2,true)), lieu3.setEffet(new EffetChoisirEffet(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-2,true)),
new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,1,true)))); new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,1,true))));
CarteLieu lieu4 = new CarteLieuType<TypeLumiere>("Monastère","desc",new Point(-1,6),piocheLumiere); CarteLieu lieu4 = new CarteLieuType(CartePiochable.Type.LUMIERE,"Monastère","desc",new Point(-1,6),piocheLumiere);
CarteLieu lieu5 = new CarteLieuType<TypeTenebre>("Sanctuaire Ancien","desc",new Point(4,5),piocheTenebre); CarteLieu lieu5 = new CarteLieuType(CartePiochable.Type.LUMIERE,"Sanctuaire Ancien","desc",new Point(4,5),piocheTenebre);
CarteLieu lieu6 = new CarteLieu("Sanctuaire Ancien","desc",new Point(-1,9)); CarteLieu lieu6 = new CarteLieu("Sanctuaire Ancien","desc",new Point(-1,9));
lieu6.setEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER))); lieu6.setEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER)));