Merge branch 'development' of https://github.com/PTE-SH/ShadowHunterGame into development
This commit is contained in:
commit
fdf6fed74d
@ -1,19 +1,20 @@
|
||||
package carte;
|
||||
|
||||
import effet.Effet;
|
||||
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;
|
||||
|
||||
public CarteEquipement(String nom, String description) {
|
||||
super(nom, description);
|
||||
// TODO Auto-generated constructor stub
|
||||
public CarteEquipement(Type t, Effet effet) {
|
||||
super(t, effet);
|
||||
}
|
||||
|
||||
public void utiliser(Joueur j) {
|
||||
|
@ -1,12 +1,15 @@
|
||||
package carte;
|
||||
|
||||
import effet.Effet;
|
||||
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
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -4,30 +4,28 @@ import condition.Condition;
|
||||
import effet.Effet;
|
||||
import effet.action.ActionAltererStatistiquesJoueur;
|
||||
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;
|
||||
|
||||
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
|
||||
public void reverse(Joueur j) {
|
||||
|
@ -4,24 +4,28 @@ import java.awt.Point;
|
||||
|
||||
import main.Joueur;
|
||||
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);
|
||||
this.type = type;
|
||||
this.pioche = pioche;
|
||||
}
|
||||
|
||||
/*
|
||||
* @param j Appel la méthode utiliser de effet sur le joueur j
|
||||
*/
|
||||
public void utiliser(Joueur j) {
|
||||
|
||||
CartePiochable<?> carte = pioche.piocher();
|
||||
CartePiochable carte = pioche.piocher();
|
||||
carte.utiliser(j);
|
||||
}
|
||||
|
||||
|
@ -4,28 +4,33 @@ import java.io.Serializable;
|
||||
|
||||
import condition.Condition;
|
||||
import effet.Effet;
|
||||
import effet.EffetChoisirCible;
|
||||
import effet.EffetSelf;
|
||||
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 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);
|
||||
}
|
||||
|
||||
public CartePiochable(Effet e, Condition c) {
|
||||
public CartePiochable(Type t, Effet e, Condition c) {
|
||||
super();
|
||||
this.setEffet(e);
|
||||
this.setCondition(c);
|
||||
}
|
||||
|
||||
public CartePiochable(Effet effet) {
|
||||
public CartePiochable(Type t, Effet effet) {
|
||||
super();
|
||||
this.type = t;
|
||||
this.setEffet(effet);
|
||||
this.setCondition(new Condition());
|
||||
}
|
||||
@ -37,4 +42,8 @@ public class CartePiochable<T extends Type> extends CarteCondition implements Se
|
||||
super.utiliser(j);
|
||||
}
|
||||
|
||||
public Type getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1,5 +1,8 @@
|
||||
package database;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.sql.SQLException;
|
||||
|
||||
import carte.CarteEquipementStat;
|
||||
import carte.CartePiochable;
|
||||
import condition.ConditionClassPersonnage;
|
||||
@ -40,207 +43,204 @@ public class CreatingCardsTest {
|
||||
// Lumière
|
||||
|
||||
//Ange gardien
|
||||
insert(2,new CartePiochable<TypeLumiere>(
|
||||
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_IMMUNITY, 1, true))));
|
||||
try {
|
||||
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
|
||||
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
|
||||
|
||||
//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>(
|
||||
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 20, true))
|
||||
,new ConditionMultiple(new ConditionClassPersonnage(Allie.class,Emi.class,Metamorphe.class), new ConditionReveal())
|
||||
));
|
||||
//Bénédiction
|
||||
|
||||
//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
|
||||
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))));
|
||||
QueryGenerator.queryInsertObject(11,new CartePiochable(CartePiochable.Type.LUMIERE,new EffetCiblerTous(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>(
|
||||
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 2, true))
|
||||
,new ConditionMultiple(new ConditionEquipe(CartePersonnage.Equipe.HUNTER), new ConditionReveal())
|
||||
));
|
||||
QueryGenerator.queryInsertObject(13,new CartePiochable(CartePiochable.Type.LUMIERE,new EffetSelf(new ActionReveal()),new ConditionClassPersonnage(Vampire.class,LoupGarou.class)));
|
||||
|
||||
// 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)),
|
||||
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)))));
|
||||
// Chauve - souris vampire
|
||||
|
||||
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)),
|
||||
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 1, 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)))));
|
||||
|
||||
insert(19, new CartePiochable<TypeTenebre>(new EffetMultiple(new EffetCiblerTous(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)),
|
||||
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 1, true)))));
|
||||
// Dynamite
|
||||
|
||||
insert(20, new CartePiochable<TypeTenebre>(new EffetMultiple(new EffetCiblerTous(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)),
|
||||
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 1, true)))));
|
||||
// 21
|
||||
|
||||
// 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
|
||||
insert(23,new CarteEquipementStat<TypeTenebre>(
|
||||
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 1, true))));
|
||||
// Mitrailleuse funeste
|
||||
// 24
|
||||
|
||||
// Peau de banane
|
||||
// 25
|
||||
|
||||
// Mitrailleuse funeste
|
||||
// 24
|
||||
// Poupé démoniaque
|
||||
// 26
|
||||
|
||||
// Peau de banane
|
||||
// 25
|
||||
QueryGenerator.queryInsertObject(28,new CartePiochable(CartePiochable.Type.TENEBRE,
|
||||
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 20, true))
|
||||
,new ConditionMultiple(new ConditionEquipe(CartePersonnage.Equipe.SHADOW), new ConditionReveal())
|
||||
));
|
||||
|
||||
// Poupé démoniaque
|
||||
// 26
|
||||
// 29
|
||||
|
||||
insert(28,new CartePiochable<TypeTenebre>(
|
||||
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 20, true))
|
||||
,new ConditionMultiple(new ConditionEquipe(CartePersonnage.Equipe.SHADOW), new ConditionReveal())
|
||||
));
|
||||
QueryGenerator.queryInsertObject(30,new CartePiochable(CartePiochable.Type.TENEBRE,
|
||||
new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER))));
|
||||
|
||||
// 29
|
||||
QueryGenerator.queryInsertObject(31,new CartePiochable(CartePiochable.Type.TENEBRE,
|
||||
new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER))));
|
||||
|
||||
insert(30,new CartePiochable<TypeTenebre>(
|
||||
new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER))));
|
||||
QueryGenerator.queryInsertObject(32,new CarteEquipementStat(CartePiochable.Type.TENEBRE,
|
||||
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>(
|
||||
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 1, true))));
|
||||
// Vision clairvoyante
|
||||
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
|
||||
insert(33, new CartePiochable<TypeVision>(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -1, true)),
|
||||
new ConditionStatistiques(ConditionStatistiques.JOUEUR, Joueur.PLAYER_HP, 11, ConditionStatistiques.LESS)));
|
||||
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))),
|
||||
new ConditionEquipe(CartePersonnage.Equipe.NEUTRE,CartePersonnage.Equipe.SHADOW)));
|
||||
|
||||
// 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))),
|
||||
new ConditionEquipe(CartePersonnage.Equipe.NEUTRE,CartePersonnage.Equipe.SHADOW)));
|
||||
// Vision destructrice
|
||||
|
||||
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)),
|
||||
new ConditionStatistiques(ConditionStatistiques.JOUEUR, Joueur.PLAYER_HP, 12, ConditionStatistiques.MORE)));
|
||||
// Vision divine
|
||||
|
||||
// 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))),
|
||||
new ConditionEquipe(CartePersonnage.Equipe.NEUTRE,CartePersonnage.Equipe.SHADOW)));
|
||||
// Vision Foudroyante
|
||||
|
||||
insert(39,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)));
|
||||
QueryGenerator.queryInsertObject(40,new CartePiochable(CartePiochable.Type.VISION,new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true)),
|
||||
new ConditionEquipe(CartePersonnage.Equipe.SHADOW)));
|
||||
|
||||
// Vision Foudroyante
|
||||
|
||||
insert(40,new CartePiochable<TypeVision>(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true)),
|
||||
new ConditionEquipe(CartePersonnage.Equipe.SHADOW)));
|
||||
// Vision furtive
|
||||
|
||||
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))),
|
||||
new ConditionEquipe(CartePersonnage.Equipe.HUNTER,CartePersonnage.Equipe.SHADOW)));
|
||||
// Vision Mortifère
|
||||
|
||||
insert(42,new CartePiochable<TypeVision>(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)));
|
||||
QueryGenerator.queryInsertObject(43,new CartePiochable(CartePiochable.Type.VISION,new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true)),
|
||||
new ConditionEquipe(CartePersonnage.Equipe.SHADOW)));
|
||||
|
||||
// Vision Mortifère
|
||||
|
||||
insert(43,new CartePiochable<TypeVision>(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true)),
|
||||
new ConditionEquipe(CartePersonnage.Equipe.SHADOW)));
|
||||
// Vision lugubre
|
||||
|
||||
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)),
|
||||
new ConditionEquipe(CartePersonnage.Equipe.SHADOW)));
|
||||
// Vision suprême
|
||||
|
||||
// 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));
|
||||
insert(49,new Bob(null));
|
||||
insert(50,new Charles(null));
|
||||
|
||||
insert(51,new Daniel(null));
|
||||
insert(52,new Emi(null));
|
||||
insert(53,new Franklin(null));
|
||||
|
||||
insert(54,new Georges(null));
|
||||
insert(55,new LoupGarou(null));
|
||||
insert(56,new Metamorphe(null));
|
||||
insert(57,new Vampire(null));
|
||||
QueryGenerator.queryInsertObject(54,new Georges());
|
||||
QueryGenerator.queryInsertObject(55,new LoupGarou());
|
||||
QueryGenerator.queryInsertObject(56,new Metamorphe());
|
||||
QueryGenerator.queryInsertObject(57,new Vampire());
|
||||
} catch (IOException | SQLException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
public static void insert(int row, Object obj) {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -48,6 +48,22 @@ public class QueryGenerator {
|
||||
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 {
|
||||
|
||||
String table = null;
|
||||
@ -76,13 +92,13 @@ public class QueryGenerator {
|
||||
}
|
||||
|
||||
String query = null;
|
||||
query = "UPDATE" + table + " SET objet = ";
|
||||
query = "UPDATE " + table + " SET objet = ? "
|
||||
+ " WHERE id = ? " ;
|
||||
|
||||
Connection conn = connect();
|
||||
PreparedStatement pst = conn.prepareStatement(query);
|
||||
pst.setBinaryStream(4, objectIS);
|
||||
pst.setBinaryStream(1, objectIS);
|
||||
pst.setInt(2, id);
|
||||
pst.executeUpdate();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -2,39 +2,36 @@ package database;
|
||||
|
||||
public class Record {
|
||||
|
||||
private int id;
|
||||
private String id;
|
||||
private String nom;
|
||||
private byte[] img;
|
||||
private byte[] objetJava;
|
||||
private byte[] obj;
|
||||
|
||||
public Record() {
|
||||
this(0, null, null, null);
|
||||
this("0", "", null);
|
||||
|
||||
}
|
||||
|
||||
public Record(String n, byte[] b) {
|
||||
this(0, n, b);
|
||||
this.nom = n;
|
||||
this.img = 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) {
|
||||
this(i, n, b, null);
|
||||
}
|
||||
|
||||
public Record(int i, String n, byte[] b, byte[] o) {
|
||||
public Record(String i, String n, byte[] b, byte[] obj) {
|
||||
this.id = i;
|
||||
this.nom = n;
|
||||
this.img = b;
|
||||
this.objetJava = o;
|
||||
this.obj = obj;
|
||||
}
|
||||
|
||||
public int getId() {
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
@ -46,13 +43,13 @@ public class Record {
|
||||
return img;
|
||||
}
|
||||
|
||||
public byte[] getObjetJava() {
|
||||
return objetJava;
|
||||
}
|
||||
|
||||
@Override
|
||||
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;
|
||||
}
|
||||
|
||||
}
|
||||
|
74
src/database/RessourceLoader.java
Normal file
74
src/database/RessourceLoader.java
Normal 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();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -1,5 +1,10 @@
|
||||
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.List;
|
||||
|
||||
@ -8,6 +13,10 @@ public class Table {
|
||||
private String name;
|
||||
private List<Record> list = new ArrayList<Record>();
|
||||
|
||||
public Table() {
|
||||
this.name = "";
|
||||
}
|
||||
|
||||
public Table(String JavaTableName) {
|
||||
this.name = JavaTableName;
|
||||
}
|
||||
@ -16,6 +25,23 @@ public class Table {
|
||||
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() {
|
||||
return name;
|
||||
}
|
||||
|
@ -1,33 +1,14 @@
|
||||
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 {
|
||||
|
||||
private final static String url = "jdbc:postgresql://localhost:5432/ShadowHunterDatabase";
|
||||
private final static String user = "shManager";
|
||||
private final static String password = "shadowhunter1234";
|
||||
|
||||
/*
|
||||
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 {
|
||||
insertCartePiochable(instance);
|
||||
@ -42,7 +23,7 @@ public class TestAddingCard {
|
||||
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();
|
||||
ObjectOutputStream oos;
|
||||
@ -80,5 +61,5 @@ public class TestAddingCard {
|
||||
ObjectInputStream is = new ObjectInputStream(in);
|
||||
return (CartePiochable<?>) is.readObject();
|
||||
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
@ -57,4 +57,9 @@ public class ActionAltererStatistiquesJoueur extends Action{
|
||||
public void setValeur(int valeur) {
|
||||
this.valeur = valeur;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString(){
|
||||
return this.key+" "+this.valeur+" "+this.ajouter;
|
||||
}
|
||||
}
|
||||
|
@ -38,7 +38,7 @@ public class ActionVoler extends Action{
|
||||
List<CarteEquipement> equipements = j2.getEquipements();
|
||||
|
||||
// J1 choisit quel équipement voler
|
||||
CarteEquipement<?> equipement = j1.choisir(equipements);
|
||||
CarteEquipement equipement = j1.choisir(equipements);
|
||||
|
||||
j1.voler(j2,equipement);
|
||||
}else {
|
||||
@ -46,7 +46,7 @@ public class ActionVoler extends Action{
|
||||
List<CarteEquipement> equipements = j1.getEquipements();
|
||||
|
||||
// J1 choisit quel équipement voler
|
||||
CarteEquipement<?> equipement = j1.choisir(equipements);
|
||||
CarteEquipement equipement = j1.choisir(equipements);
|
||||
|
||||
j2.voler(j1,equipement);
|
||||
|
||||
|
@ -6,13 +6,19 @@ import java.util.Stack;
|
||||
|
||||
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();
|
||||
this.cartesPiochables = new Stack<CartePiochable<T>>();
|
||||
this.type = type;
|
||||
this.cartesPiochables = new Stack<CartePiochable>();
|
||||
this.cartesPiochables.addAll(cartesPiochables);
|
||||
melanger();
|
||||
}
|
||||
@ -22,7 +28,7 @@ public class Pioche<T extends Type> {
|
||||
Collections.shuffle(cartesPiochables);
|
||||
}
|
||||
|
||||
public CartePiochable<?> piocher() {
|
||||
public CartePiochable piocher() {
|
||||
return cartesPiochables.pop();
|
||||
}
|
||||
}
|
||||
|
@ -61,31 +61,31 @@ public class Plateau extends Thread{
|
||||
this.stats.put(NB_SHADOWS, 0);
|
||||
this.stats.put(NB_NEUTRES, 0);
|
||||
|
||||
List<CartePiochable<TypeLumiere>> list1 = new ArrayList<>();
|
||||
List<CartePiochable<TypeTenebre>> list2 = new ArrayList<>();
|
||||
List<CartePiochable> list1 = new ArrayList<>();
|
||||
List<CartePiochable> list2 = new ArrayList<>();
|
||||
|
||||
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)));
|
||||
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)));
|
||||
list2.add(carte2);
|
||||
}
|
||||
|
||||
Pioche<TypeLumiere> piocheLumiere = new Pioche<TypeLumiere>(list1);
|
||||
Pioche<TypeTenebre> piocheTenebre = new Pioche<TypeTenebre>(list2);
|
||||
Pioche piocheLumiere = new Pioche(list1);
|
||||
Pioche piocheTenebre = new Pioche(list2);
|
||||
|
||||
CarteLieu lieu1 = new CarteLieuType<TypeTenebre>("Antre de l'Ermite","desc",new Point(2,3),piocheTenebre);
|
||||
CarteLieu lieu2 = new CarteLieuType<TypeTenebre>("Cimetière","desc",new Point(-1,8),piocheTenebre);
|
||||
CarteLieu lieu1 = new CarteLieuType(CartePiochable.Type.TENEBRE,"Antre de l'Ermite","desc",new Point(2,3),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));
|
||||
lieu3.setEffet(new EffetChoisirEffet(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-2,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));
|
||||
lieu6.setEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER)));
|
||||
|
||||
|
@ -20,6 +20,7 @@ public class Allie extends Unique{
|
||||
*/
|
||||
private static final long serialVersionUID = 8822533547275463314L;
|
||||
|
||||
|
||||
public Allie(Joueur joueur) {
|
||||
super("ALLIE","desc", 8, joueur);
|
||||
|
||||
|
@ -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
|
||||
public void attaquer(Joueur j, int blessure) {
|
||||
|
||||
|
@ -20,6 +20,22 @@ public class Daniel extends CartePersonnage{
|
||||
|
||||
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) {
|
||||
super("Daniel","desc", HP, j);
|
||||
@ -58,6 +74,8 @@ public class Daniel extends CartePersonnage{
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public void utiliser() {
|
||||
this.getJoueur().reveal();
|
||||
}
|
||||
|
@ -7,6 +7,12 @@ public class Emi extends CartePersonnage{
|
||||
|
||||
public static final int HP = 13;
|
||||
|
||||
public Emi() {
|
||||
super("EMI","desc", HP, null);
|
||||
|
||||
this.setCondition(new WinConditionHunter());
|
||||
}
|
||||
|
||||
public Emi(Joueur j) {
|
||||
super("EMI","desc", HP, j);
|
||||
|
||||
@ -24,6 +30,8 @@ public class Emi extends CartePersonnage{
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public void deplacer() {
|
||||
|
||||
}
|
||||
|
@ -6,6 +6,11 @@ import main.Plateau;
|
||||
|
||||
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) {
|
||||
super("Franklin", "desc", 14, joueur);
|
||||
@ -19,6 +24,8 @@ public class Georges extends Unique{
|
||||
this.setEquipe(CartePersonnage.Equipe.HUNTER);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void utiliser() {
|
||||
Joueur joueur = this.getJoueur();
|
||||
|
||||
|
@ -5,8 +5,18 @@ import main.Joueur;
|
||||
|
||||
public class LoupGarou extends CartePersonnage {
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
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) {
|
||||
super("LOUP-GAROU","desc", HP, j);
|
||||
this.setCondition(new WinConditionShadow());
|
||||
@ -19,8 +29,6 @@ public class LoupGarou extends CartePersonnage {
|
||||
this.setCondition(new WinConditionShadow());
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void utiliser() {
|
||||
}
|
||||
|
||||
|
@ -11,6 +11,11 @@ public class Metamorphe extends CartePersonnage{
|
||||
private static final long serialVersionUID = 8415184267445994107L;
|
||||
public final static int HP = 11;
|
||||
|
||||
public Metamorphe() {
|
||||
super("METAMORPHE","desc", HP, null);
|
||||
this.setCondition(new WinConditionShadow());
|
||||
}
|
||||
|
||||
public Metamorphe(Joueur j) {
|
||||
super("METAMORPHE","desc", HP, j);
|
||||
this.setCondition(new WinConditionShadow());
|
||||
@ -21,8 +26,6 @@ public class Metamorphe extends CartePersonnage{
|
||||
this.setCondition(new WinConditionShadow());
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void utiliser() {
|
||||
}
|
||||
}
|
||||
|
@ -51,7 +51,7 @@ class GestionnaireEquipementsTest {
|
||||
|
||||
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.setCondition(new Condition());
|
||||
j1.ajouterEquipement(es);
|
||||
@ -67,7 +67,7 @@ class GestionnaireEquipementsTest {
|
||||
|
||||
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.setCondition(new Condition());
|
||||
j1.ajouterEquipement(es);
|
||||
@ -81,7 +81,7 @@ class GestionnaireEquipementsTest {
|
||||
|
||||
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.setCondition(new Condition());
|
||||
j1.ajouterEquipement(es);
|
||||
|
@ -237,9 +237,9 @@ public class IATest {
|
||||
public void choixEquipementTest() {
|
||||
//setup
|
||||
List<CarteEquipement> equips = new ArrayList<>();
|
||||
equips.add(new CarteEquipementEffet("lol","mdr"));
|
||||
equips.add(new CarteEquipementEffet("lol1","mdr1"));
|
||||
equips.add(new CarteEquipementStat("lol2","mdr2"));
|
||||
equips.add(new CarteEquipementEffet(null,null));
|
||||
equips.add(new CarteEquipementEffet(null,null));
|
||||
equips.add(new CarteEquipementStat(null,null));
|
||||
|
||||
//on choisit l'equipement avec les stat en priorite
|
||||
assertTrue(jIA.choisirEquipement(equips) instanceof CarteEquipementStat);
|
||||
|
@ -54,33 +54,33 @@ class PlateauTest {
|
||||
|
||||
p = new Plateau(joueurs);
|
||||
|
||||
List<CartePiochable<TypeLumiere>> list1 = new ArrayList<>();
|
||||
List<CartePiochable<TypeTenebre>> list2 = new ArrayList<>();
|
||||
List<CartePiochable> list1 = new ArrayList<>();
|
||||
List<CartePiochable> list2 = new ArrayList<>();
|
||||
|
||||
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)));
|
||||
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)));
|
||||
list2.add(carte2);
|
||||
}
|
||||
|
||||
|
||||
Pioche<TypeLumiere> piocheLumiere = new Pioche<TypeLumiere>(list1);
|
||||
Pioche<TypeTenebre> piocheTenebre = new Pioche<TypeTenebre>(list2);
|
||||
Pioche piocheLumiere = new Pioche(CartePiochable.Type.LUMIERE,list1);
|
||||
Pioche piocheTenebre = new Pioche(CartePiochable.Type.TENEBRE,list2);
|
||||
|
||||
|
||||
CarteLieu lieu1 = new CarteLieuType<TypeTenebre>("Antre de l'Ermite","desc",new Point(2,3),piocheTenebre);
|
||||
CarteLieu lieu2 = new CarteLieuType<TypeTenebre>("Cimetière","desc",new Point(-1,8),piocheTenebre);
|
||||
CarteLieu lieu1 = new CarteLieuType(CartePiochable.Type.TENEBRE,"Antre de l'Ermite","desc",new Point(2,3),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));
|
||||
lieu3.setEffet(new EffetChoisirEffet(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-2,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));
|
||||
lieu6.setEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER)));
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user