Carte vision donnée
This commit is contained in:
parent
b182af79a4
commit
1f6ee979a1
@ -41,6 +41,7 @@ public class CartePiochable extends CarteCondition implements Serializable{
|
||||
/*
|
||||
* @param j Appel la méthode utiliser de effet sur le joueur j
|
||||
*/
|
||||
|
||||
public void utiliser(Joueur j) {
|
||||
GestionnaireJeu gj = GestionnaireJeu.getGestionnaireJeu();
|
||||
gj.piocher(j,this);
|
||||
|
40
src/carte/CarteVision.java
Normal file
40
src/carte/CarteVision.java
Normal file
@ -0,0 +1,40 @@
|
||||
package carte;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
import condition.Condition;
|
||||
import effet.EffetChoisirCible;
|
||||
import effet.action.Action;
|
||||
import main.GestionnaireJeu;
|
||||
import main.Joueur;
|
||||
|
||||
public class CarteVision extends CartePiochable implements Serializable{
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private static final long serialVersionUID = 903022795821166067L;
|
||||
|
||||
public CarteVision(Action a, Condition c) {
|
||||
super(Type.VISION, "","");
|
||||
this.setEffet(new EffetChoisirCible(a));
|
||||
this.setCondition(c);
|
||||
}
|
||||
|
||||
/*
|
||||
* @param j le joueur utilisant son effet
|
||||
*/
|
||||
@Override
|
||||
public void utiliser(Joueur j1) {
|
||||
|
||||
GestionnaireJeu gj = GestionnaireJeu.getGestionnaireJeu();
|
||||
gj.piocher(j1,this);
|
||||
|
||||
Joueur j2 = j1.choisiParmisTous();
|
||||
|
||||
if(this.getCondition().isTrue(j2)) {
|
||||
this.getEffet().getAction().affecte(j1, j2);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -9,6 +9,7 @@ import carte.CarteLieu;
|
||||
import carte.CarteLieuMultiple;
|
||||
import carte.CarteLieuType;
|
||||
import carte.CartePiochable;
|
||||
import carte.CarteVision;
|
||||
import condition.ConditionClassPersonnage;
|
||||
import condition.ConditionEquipe;
|
||||
import condition.ConditionMultiple;
|
||||
@ -22,6 +23,7 @@ import effet.EffetSelf;
|
||||
import effet.action.ActionAltererStatistiquesJoueur;
|
||||
import effet.action.ActionAltererStatistiquesJoueurRoll;
|
||||
import effet.action.ActionMultiple;
|
||||
import effet.action.ActionMultipleChoisir;
|
||||
import effet.action.ActionReveal;
|
||||
import effet.action.ActionVoler;
|
||||
import main.Joueur;
|
||||
@ -151,6 +153,7 @@ public class CreatingCardsTest {
|
||||
|
||||
// Poupé démoniaque
|
||||
// 26
|
||||
|
||||
|
||||
DatabaseManager.queryInsertObject(28,new CartePiochable(CartePiochable.Type.TENEBRE,
|
||||
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 20, true))
|
||||
@ -170,21 +173,21 @@ public class CreatingCardsTest {
|
||||
|
||||
|
||||
// Vision clairvoyante
|
||||
DatabaseManager.queryInsertObject(33, new CartePiochable(CartePiochable.Type.VISION,new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -1, true)),
|
||||
DatabaseManager.queryInsertObject(33, new CarteVision(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -1, true),
|
||||
new ConditionStatistiques(ConditionStatistiques.JOUEUR, Joueur.PLAYER_HP, 11, ConditionStatistiques.LESS)));
|
||||
|
||||
// Vision cupide
|
||||
|
||||
DatabaseManager.queryInsertObject(34,new CartePiochable(CartePiochable.Type.VISION,new EffetChoisirEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.DONNER)),new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true))),
|
||||
DatabaseManager.queryInsertObject(34,new CarteVision(new ActionMultipleChoisir(new ActionVoler(ActionVoler.DONNER),new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true)),
|
||||
new ConditionEquipe(CartePersonnage.Equipe.NEUTRE,CartePersonnage.Equipe.SHADOW)));
|
||||
|
||||
DatabaseManager.queryInsertObject(35,new CartePiochable(CartePiochable.Type.VISION,new EffetChoisirEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.DONNER)),new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true))),
|
||||
DatabaseManager.queryInsertObject(35,new CarteVision(new ActionMultipleChoisir(new ActionVoler(ActionVoler.DONNER),new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true)),
|
||||
new ConditionEquipe(CartePersonnage.Equipe.NEUTRE,CartePersonnage.Equipe.SHADOW)));
|
||||
|
||||
|
||||
// Vision destructrice
|
||||
|
||||
DatabaseManager.queryInsertObject(36, new CartePiochable(CartePiochable.Type.VISION,new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)),
|
||||
DatabaseManager.queryInsertObject(36, new CarteVision(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true),
|
||||
new ConditionStatistiques(ConditionStatistiques.JOUEUR, Joueur.PLAYER_HP, 12, ConditionStatistiques.MORE)));
|
||||
|
||||
|
||||
@ -192,35 +195,35 @@ public class CreatingCardsTest {
|
||||
|
||||
// Vision enivrante
|
||||
|
||||
DatabaseManager.queryInsertObject(38,new CartePiochable(CartePiochable.Type.VISION,new EffetChoisirEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.DONNER)),new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true))),
|
||||
DatabaseManager.queryInsertObject(38,new CarteVision(new ActionMultipleChoisir(new ActionVoler(ActionVoler.DONNER),new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true)),
|
||||
new ConditionEquipe(CartePersonnage.Equipe.NEUTRE,CartePersonnage.Equipe.SHADOW)));
|
||||
|
||||
DatabaseManager.queryInsertObject(39,new CartePiochable(CartePiochable.Type.VISION,new EffetChoisirEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.DONNER)),new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true))),
|
||||
DatabaseManager.queryInsertObject(39,new CarteVision( new ActionMultipleChoisir(new ActionVoler(ActionVoler.DONNER),new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true)),
|
||||
new ConditionEquipe(CartePersonnage.Equipe.NEUTRE,CartePersonnage.Equipe.SHADOW)));
|
||||
|
||||
// Vision Foudroyante
|
||||
|
||||
DatabaseManager.queryInsertObject(40,new CartePiochable(CartePiochable.Type.VISION,new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true)),
|
||||
DatabaseManager.queryInsertObject(40,new CarteVision(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true),
|
||||
new ConditionEquipe(CartePersonnage.Equipe.SHADOW)));
|
||||
|
||||
|
||||
// Vision furtive
|
||||
|
||||
DatabaseManager.queryInsertObject(41,new CartePiochable(CartePiochable.Type.VISION,new EffetChoisirEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.DONNER)),new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true))),
|
||||
DatabaseManager.queryInsertObject(41,new CarteVision(new ActionMultipleChoisir(new ActionVoler(ActionVoler.DONNER),new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true)),
|
||||
new ConditionEquipe(CartePersonnage.Equipe.HUNTER,CartePersonnage.Equipe.SHADOW)));
|
||||
|
||||
DatabaseManager.queryInsertObject(42,new CartePiochable(CartePiochable.Type.VISION,new EffetChoisirEffet(new EffetChoisirCible(new ActionVoler(ActionVoler.DONNER)),new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true))),
|
||||
DatabaseManager.queryInsertObject(42,new CarteVision(new ActionMultipleChoisir(new ActionVoler(ActionVoler.DONNER),new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true)),
|
||||
new ConditionEquipe(CartePersonnage.Equipe.HUNTER,CartePersonnage.Equipe.SHADOW)));
|
||||
|
||||
// Vision Mortifère
|
||||
|
||||
DatabaseManager.queryInsertObject(43,new CartePiochable(CartePiochable.Type.VISION,new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true)),
|
||||
DatabaseManager.queryInsertObject(43,new CarteVision(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-1,true),
|
||||
new ConditionEquipe(CartePersonnage.Equipe.SHADOW)));
|
||||
|
||||
|
||||
// Vision lugubre
|
||||
|
||||
DatabaseManager.queryInsertObject(45,new CartePiochable(CartePiochable.Type.VISION,new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-2,true)),
|
||||
DatabaseManager.queryInsertObject(45,new CarteVision(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-2,true),
|
||||
new ConditionEquipe(CartePersonnage.Equipe.SHADOW)));
|
||||
|
||||
// Vision réconfortante
|
||||
|
@ -12,11 +12,13 @@ public class EffetChoisirCible extends Effet{
|
||||
@Override
|
||||
public void utiliser(Joueur joueur) {
|
||||
|
||||
Joueur j2 = joueur.choisiParmisTous();
|
||||
Joueur j2 = choisirCible(joueur);
|
||||
Action action = this.getAction();
|
||||
|
||||
action.affecte(joueur, j2);
|
||||
|
||||
}
|
||||
|
||||
public Joueur choisirCible(Joueur joueur) {
|
||||
return joueur.choisiParmisTous();
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -19,9 +19,12 @@ public class EffetChoisirEffet extends Effet{
|
||||
@Override
|
||||
public void utiliser(Joueur joueur) {
|
||||
|
||||
Effet effet = (Effet) joueur.choisir(effets,Effet.class);
|
||||
|
||||
effet.utiliser(joueur);
|
||||
Effet e = choisirEffet(joueur);
|
||||
e.utiliser(joueur);
|
||||
}
|
||||
|
||||
public Effet choisirEffet(Joueur joueur) {
|
||||
return (Effet) joueur.choisir(effets,Effet.class);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -33,4 +33,9 @@ public class ActionMultiple extends Action{
|
||||
action.affecte(j1, j2);
|
||||
}
|
||||
}
|
||||
|
||||
public List<Action> getList(){
|
||||
return this.actions;
|
||||
}
|
||||
|
||||
}
|
||||
|
24
src/effet/action/ActionMultipleChoisir.java
Normal file
24
src/effet/action/ActionMultipleChoisir.java
Normal file
@ -0,0 +1,24 @@
|
||||
package effet.action;
|
||||
|
||||
import main.Joueur;
|
||||
|
||||
public class ActionMultipleChoisir extends ActionMultiple{
|
||||
|
||||
|
||||
public ActionMultipleChoisir(Action...actions) {
|
||||
super(actions);
|
||||
}
|
||||
|
||||
/**
|
||||
* Lance l'action d'activer toutes les actions contenues dans ActionMultiple.
|
||||
* @param j1 Le joueur qui lance l'action
|
||||
* @param j2 Le joueur qui subit l'action
|
||||
* @return void
|
||||
*/
|
||||
@Override
|
||||
public void affecte(Joueur j1, Joueur j2) {
|
||||
|
||||
Action a = (Action) j1.choisir(this.getList(), Action.class);
|
||||
a.affecte(j1, j2);
|
||||
}
|
||||
}
|
@ -41,10 +41,10 @@ public class ActionVoler extends Action{
|
||||
j1.voler(j2,equipement);
|
||||
}else {
|
||||
|
||||
List<CarteEquipement> equipements = j1.getEquipements();
|
||||
List<CarteEquipement> equipements = j2.getEquipements();
|
||||
// J1 choisit quel équipement voler
|
||||
CarteEquipement equipement = (CarteEquipement) j1.choisir(equipements,CarteEquipement.class);
|
||||
j2.voler(j1,equipement);
|
||||
CarteEquipement equipement = (CarteEquipement) j2.choisir(equipements,CarteEquipement.class);
|
||||
j1.voler(j2,equipement);
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -368,13 +368,22 @@ public class PlateauController implements Initializable {
|
||||
|
||||
|
||||
JoueurIHM jihm = getJoueurIHM(j);
|
||||
Pane pane = (Pane) jihm.getZoneJoueur().getChildren().get(0);
|
||||
Pane p = (Pane) jihm.getZoneJoueur();
|
||||
Pane pane = null;
|
||||
|
||||
if(p.getChildren() != null && p.getChildren().size() > 0) {
|
||||
|
||||
pane = (Pane) p.getChildren().get(0);
|
||||
}
|
||||
|
||||
jihm.setZoneJoueur(root);
|
||||
Pane pp = pane;
|
||||
Timeline timeline = new Timeline(new KeyFrame(
|
||||
Duration.millis(1000),
|
||||
ae -> {
|
||||
|
||||
jihm.resetZoneJoueur();
|
||||
jihm.setZoneJoueur(pane);
|
||||
jihm.setZoneJoueur(pp);
|
||||
GestionnaireJeu.notifyPlateau();
|
||||
}));
|
||||
timeline.play();
|
||||
|
Loading…
x
Reference in New Issue
Block a user