Images + ajout des cartes visions et ténèbres

This commit is contained in:
Paul Gross 2020-05-06 12:04:30 +02:00
parent 2ab9df30ed
commit e91b24c13a
10 changed files with 215 additions and 21 deletions

View File

@ -22,6 +22,12 @@ public class CarteEquipementStat<T extends Type> extends CarteEquipement<Type>{
this.setEffet(effet); this.setEffet(effet);
this.setCondition(condition); 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

@ -1,6 +1,7 @@
package condition; package condition;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
import main.Joueur; import main.Joueur;
@ -8,7 +9,7 @@ import personnage.CartePersonnage;
import personnage.CartePersonnage.Equipe; import personnage.CartePersonnage.Equipe;
public class ConditionType extends Condition{ public class ConditionEquipe extends Condition{
/** /**
* *
@ -16,12 +17,16 @@ public class ConditionType extends Condition{
private static final long serialVersionUID = 8261153600401164649L; private static final long serialVersionUID = 8261153600401164649L;
private List<CartePersonnage.Equipe> equipes; private List<CartePersonnage.Equipe> equipes;
public ConditionType(Equipe e) { public ConditionEquipe(Equipe e) {
this.equipes = new ArrayList<CartePersonnage.Equipe>(); this.equipes = new ArrayList<CartePersonnage.Equipe>();
this.equipes.add(e); this.equipes.add(e);
} }
public ConditionType(List<CartePersonnage.Equipe> equipes){ public ConditionEquipe(Equipe...equipes) {
this.equipes = Arrays.asList(equipes);
}
public ConditionEquipe(List<CartePersonnage.Equipe> equipes){
this.equipes = new ArrayList<CartePersonnage.Equipe>(); this.equipes = new ArrayList<CartePersonnage.Equipe>();
this.equipes.addAll(equipes); this.equipes.addAll(equipes);

View File

@ -2,21 +2,25 @@ package database;
import carte.CarteEquipementStat; import carte.CarteEquipementStat;
import carte.CartePiochable; import carte.CartePiochable;
import condition.Condition;
import condition.ConditionClassPersonnage; import condition.ConditionClassPersonnage;
import condition.ConditionEquipe;
import condition.ConditionMultiple; import condition.ConditionMultiple;
import condition.ConditionReveal; import condition.ConditionReveal;
import condition.ConditionType; import condition.ConditionStatistiques;
import effet.EffetChoisirCible; import effet.EffetChoisirCible;
import effet.EffetChoisirEffet;
import effet.EffetCiblerTous; import effet.EffetCiblerTous;
import effet.EffetMultiple;
import effet.EffetSelf; import effet.EffetSelf;
import effet.action.Action;
import effet.action.ActionAltererStatistiquesJoueur; import effet.action.ActionAltererStatistiquesJoueur;
import effet.action.ActionAltererStatistiquesJoueurRoll; import effet.action.ActionAltererStatistiquesJoueurRoll;
import effet.action.ActionMultiple; import effet.action.ActionMultiple;
import effet.action.ActionReveal; import effet.action.ActionReveal;
import effet.action.ActionVoler;
import main.Joueur; import main.Joueur;
import main.TypeLumiere; import main.TypeLumiere;
import main.TypeTenebre;
import main.TypeVision;
import personnage.Allie; import personnage.Allie;
import personnage.CartePersonnage; import personnage.CartePersonnage;
import personnage.Emi; import personnage.Emi;
@ -38,7 +42,7 @@ public class CreatingCardsTest {
//Avénement suprême //Avénement suprême
insert(3,new CartePiochable<TypeLumiere>( insert(3,new CartePiochable<TypeLumiere>(
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 20, true)) new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 20, true))
,new ConditionMultiple(new ConditionType(CartePersonnage.Equipe.HUNTER), new ConditionReveal()) ,new ConditionMultiple(new ConditionEquipe(CartePersonnage.Equipe.HUNTER), new ConditionReveal())
)); ));
//Barre de chocolat //Barre de chocolat
@ -55,7 +59,7 @@ public class CreatingCardsTest {
// BOUSSOLE mystique // BOUSSOLE mystique
// 6 // 6
// 7 // 7
@ -75,7 +79,7 @@ public class CreatingCardsTest {
insert(12,new CarteEquipementStat<TypeLumiere>( insert(12,new CarteEquipementStat<TypeLumiere>(
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 2, true)) new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 2, true))
,new ConditionMultiple(new ConditionType(CartePersonnage.Equipe.HUNTER), new ConditionReveal()) ,new ConditionMultiple(new ConditionEquipe(CartePersonnage.Equipe.HUNTER), new ConditionReveal())
)); ));
// Miroir divin // Miroir divin
@ -97,6 +101,128 @@ public class CreatingCardsTest {
//Toge sainte //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))))); 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
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
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)))));
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)))));
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)))));
// Dynamite
// 21
// 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
// Poupé démoniaque
// 26
insert(28,new CartePiochable<TypeTenebre>(
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 20, true))
,new ConditionMultiple(new ConditionEquipe(CartePersonnage.Equipe.SHADOW), new ConditionReveal())
));
// 29
insert(30,new CartePiochable<TypeTenebre>(
new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER))));
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
insert(33, new CartePiochable<TypeVision>(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -1, true)),
new ConditionStatistiques(ConditionStatistiques.JOUEUR, Joueur.PLAYER_HP, 11, ConditionStatistiques.LESS)));
// Vision cupide
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
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
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)));
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)));
// Vision Foudroyante
insert(40,new CartePiochable<TypeVision>(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true)),
new ConditionEquipe(CartePersonnage.Equipe.SHADOW)));
// Vision furtive
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)));
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)));
// Vision Mortifère
insert(43,new CartePiochable<TypeVision>(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true)),
new ConditionEquipe(CartePersonnage.Equipe.SHADOW)));
insert(44,new CartePiochable<TypeVision>(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true)),
new ConditionEquipe(CartePersonnage.Equipe.SHADOW)));
// Vision lugubre
insert(46,new CartePiochable<TypeVision>(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-2,true)),
new ConditionEquipe(CartePersonnage.Equipe.SHADOW)));
// Vision réconfortante
// Vision suprême
} }

View File

@ -0,0 +1,30 @@
package effet;
import java.util.Arrays;
import java.util.List;
import main.Joueur;
public class EffetMultiple extends Effet{
private List<Effet> effets;
/**
*
*/
private static final long serialVersionUID = 1936073174860639420L;
public EffetMultiple(Effet...effets) {
super(null);
this.effets = Arrays.asList(effets);
}
@Override
public void utiliser(Joueur joueur) {
for(Effet e : effets) {
e.utiliser(joueur);
}
}
}

View File

@ -8,6 +8,21 @@ import main.Joueur;
public class ActionVoler extends Action{ public class ActionVoler extends Action{
public final static boolean DONNER = false;
public final static boolean VOLER = true;
private boolean choix;
public ActionVoler(Boolean choix) {
super();
this.choix = choix;
}
/**
*
*/
private static final long serialVersionUID = 3770148032992025640L;
/** /**
* Lance l'action de voler une carte équipement. * Lance l'action de voler une carte équipement.
* @param j1 Le joueur qui vol * @param j1 Le joueur qui vol
@ -17,12 +32,24 @@ public class ActionVoler extends Action{
@Override @Override
public void affecte(Joueur j1, Joueur j2) { public void affecte(Joueur j1, Joueur j2) {
List<CarteEquipement> equipements = j2.getEquipements();
// J1 choisit quel équipement voler
CarteEquipement equipement = j1.choisir(equipements);
j1.voler(j2,equipement);
if(this.choix) {
List<CarteEquipement> equipements = j2.getEquipements();
// J1 choisit quel équipement voler
CarteEquipement<?> equipement = j1.choisir(equipements);
j1.voler(j2,equipement);
}else {
List<CarteEquipement> equipements = j1.getEquipements();
// J1 choisit quel équipement voler
CarteEquipement<?> equipement = j1.choisir(equipements);
j2.voler(j1,equipement);
}
} }
} }

View File

@ -69,7 +69,7 @@ public class PlateauController implements Initializable {
} }
for(int i = 0; i<joueursIHM.size(); i++) { for(int i = 0; i<joueursIHM.size(); i++) {
joueursIHM.get(i).deplacerPionVie((int) (Math.random()*13)); joueursIHM.get(i).deplacerPionVie(0);
} }

View File

@ -87,7 +87,7 @@ public class Plateau extends Thread{
CarteLieu lieu5 = new CarteLieuType<TypeTenebre>("Sanctuaire Ancien","desc",new Point(4,5),piocheTenebre); CarteLieu lieu5 = new CarteLieuType<TypeTenebre>("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())); lieu6.setEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER)));
List<CarteLieu> cls = new ArrayList<CarteLieu>(); List<CarteLieu> cls = new ArrayList<CarteLieu>();
cls.add(lieu6); cls.add(lieu6);

View File

@ -14,7 +14,7 @@ public class Bob extends CartePersonnage{
this.setCondition(condition); this.setCondition(condition);
EffetTarget effet = new EffetTarget(new ActionVoler()); EffetTarget effet = new EffetTarget(new ActionVoler(ActionVoler.VOLER));
this.setEffet(effet); this.setEffet(effet);
} }

View File

@ -24,7 +24,7 @@ class ConditionTypeTest {
List<CartePersonnage.Equipe> equipes = new ArrayList<CartePersonnage.Equipe>(); List<CartePersonnage.Equipe> equipes = new ArrayList<CartePersonnage.Equipe>();
equipes.add(CartePersonnage.Equipe.HUNTER); equipes.add(CartePersonnage.Equipe.HUNTER);
equipes.add(CartePersonnage.Equipe.NEUTRE); equipes.add(CartePersonnage.Equipe.NEUTRE);
ConditionType ct = new ConditionType(equipes); ConditionEquipe ct = new ConditionEquipe(equipes);
Joueur j = new Joueur(null); Joueur j = new Joueur(null);
@ -46,7 +46,7 @@ class ConditionTypeTest {
List<CartePersonnage.Equipe> equipes = new ArrayList<CartePersonnage.Equipe>(); List<CartePersonnage.Equipe> equipes = new ArrayList<CartePersonnage.Equipe>();
ConditionType ct = new ConditionType(equipes); ConditionEquipe ct = new ConditionEquipe(equipes);
Joueur j = new Joueur(null); Joueur j = new Joueur(null);
j.setCartePersonnage(new Allie(j)); j.setCartePersonnage(new Allie(j));
assertFalse(ct.isTrue(j)); assertFalse(ct.isTrue(j));

View File

@ -82,7 +82,7 @@ class PlateauTest {
CarteLieu lieu5 = new CarteLieuType<TypeTenebre>("Sanctuaire Ancien","desc",new Point(4,5),piocheTenebre); CarteLieu lieu5 = new CarteLieuType<TypeTenebre>("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())); lieu6.setEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER)));
List<CarteLieu> cls = new ArrayList<CarteLieu>(); List<CarteLieu> cls = new ArrayList<CarteLieu>();
cls.add(lieu6); cls.add(lieu6);