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
|
* @param j Appel la méthode utiliser de effet sur le joueur j
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public void utiliser(Joueur j) {
|
public void utiliser(Joueur j) {
|
||||||
GestionnaireJeu gj = GestionnaireJeu.getGestionnaireJeu();
|
GestionnaireJeu gj = GestionnaireJeu.getGestionnaireJeu();
|
||||||
gj.piocher(j,this);
|
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.CarteLieuMultiple;
|
||||||
import carte.CarteLieuType;
|
import carte.CarteLieuType;
|
||||||
import carte.CartePiochable;
|
import carte.CartePiochable;
|
||||||
|
import carte.CarteVision;
|
||||||
import condition.ConditionClassPersonnage;
|
import condition.ConditionClassPersonnage;
|
||||||
import condition.ConditionEquipe;
|
import condition.ConditionEquipe;
|
||||||
import condition.ConditionMultiple;
|
import condition.ConditionMultiple;
|
||||||
@ -22,6 +23,7 @@ import effet.EffetSelf;
|
|||||||
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.ActionMultipleChoisir;
|
||||||
import effet.action.ActionReveal;
|
import effet.action.ActionReveal;
|
||||||
import effet.action.ActionVoler;
|
import effet.action.ActionVoler;
|
||||||
import main.Joueur;
|
import main.Joueur;
|
||||||
@ -151,6 +153,7 @@ public class CreatingCardsTest {
|
|||||||
|
|
||||||
// Poupé démoniaque
|
// Poupé démoniaque
|
||||||
// 26
|
// 26
|
||||||
|
|
||||||
|
|
||||||
DatabaseManager.queryInsertObject(28,new CartePiochable(CartePiochable.Type.TENEBRE,
|
DatabaseManager.queryInsertObject(28,new CartePiochable(CartePiochable.Type.TENEBRE,
|
||||||
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 20, true))
|
new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 20, true))
|
||||||
@ -170,21 +173,21 @@ public class CreatingCardsTest {
|
|||||||
|
|
||||||
|
|
||||||
// Vision clairvoyante
|
// 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)));
|
new ConditionStatistiques(ConditionStatistiques.JOUEUR, Joueur.PLAYER_HP, 11, ConditionStatistiques.LESS)));
|
||||||
|
|
||||||
// Vision cupide
|
// 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)));
|
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)));
|
new ConditionEquipe(CartePersonnage.Equipe.NEUTRE,CartePersonnage.Equipe.SHADOW)));
|
||||||
|
|
||||||
|
|
||||||
// Vision destructrice
|
// 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)));
|
new ConditionStatistiques(ConditionStatistiques.JOUEUR, Joueur.PLAYER_HP, 12, ConditionStatistiques.MORE)));
|
||||||
|
|
||||||
|
|
||||||
@ -192,35 +195,35 @@ public class CreatingCardsTest {
|
|||||||
|
|
||||||
// Vision enivrante
|
// 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)));
|
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)));
|
new ConditionEquipe(CartePersonnage.Equipe.NEUTRE,CartePersonnage.Equipe.SHADOW)));
|
||||||
|
|
||||||
// Vision Foudroyante
|
// 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)));
|
new ConditionEquipe(CartePersonnage.Equipe.SHADOW)));
|
||||||
|
|
||||||
|
|
||||||
// Vision furtive
|
// 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)));
|
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)));
|
new ConditionEquipe(CartePersonnage.Equipe.HUNTER,CartePersonnage.Equipe.SHADOW)));
|
||||||
|
|
||||||
// Vision Mortifère
|
// 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)));
|
new ConditionEquipe(CartePersonnage.Equipe.SHADOW)));
|
||||||
|
|
||||||
|
|
||||||
// Vision lugubre
|
// 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)));
|
new ConditionEquipe(CartePersonnage.Equipe.SHADOW)));
|
||||||
|
|
||||||
// Vision réconfortante
|
// Vision réconfortante
|
||||||
|
@ -12,11 +12,13 @@ public class EffetChoisirCible extends Effet{
|
|||||||
@Override
|
@Override
|
||||||
public void utiliser(Joueur joueur) {
|
public void utiliser(Joueur joueur) {
|
||||||
|
|
||||||
Joueur j2 = joueur.choisiParmisTous();
|
Joueur j2 = choisirCible(joueur);
|
||||||
Action action = this.getAction();
|
Action action = this.getAction();
|
||||||
|
|
||||||
action.affecte(joueur, j2);
|
action.affecte(joueur, j2);
|
||||||
|
}
|
||||||
|
|
||||||
|
public Joueur choisirCible(Joueur joueur) {
|
||||||
|
return joueur.choisiParmisTous();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -19,9 +19,12 @@ public class EffetChoisirEffet extends Effet{
|
|||||||
@Override
|
@Override
|
||||||
public void utiliser(Joueur joueur) {
|
public void utiliser(Joueur joueur) {
|
||||||
|
|
||||||
Effet effet = (Effet) joueur.choisir(effets,Effet.class);
|
Effet e = choisirEffet(joueur);
|
||||||
|
e.utiliser(joueur);
|
||||||
effet.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);
|
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);
|
j1.voler(j2,equipement);
|
||||||
}else {
|
}else {
|
||||||
|
|
||||||
List<CarteEquipement> equipements = j1.getEquipements();
|
List<CarteEquipement> equipements = j2.getEquipements();
|
||||||
// J1 choisit quel équipement voler
|
// J1 choisit quel équipement voler
|
||||||
CarteEquipement equipement = (CarteEquipement) j1.choisir(equipements,CarteEquipement.class);
|
CarteEquipement equipement = (CarteEquipement) j2.choisir(equipements,CarteEquipement.class);
|
||||||
j2.voler(j1,equipement);
|
j1.voler(j2,equipement);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -368,13 +368,22 @@ public class PlateauController implements Initializable {
|
|||||||
|
|
||||||
|
|
||||||
JoueurIHM jihm = getJoueurIHM(j);
|
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);
|
jihm.setZoneJoueur(root);
|
||||||
|
Pane pp = pane;
|
||||||
Timeline timeline = new Timeline(new KeyFrame(
|
Timeline timeline = new Timeline(new KeyFrame(
|
||||||
Duration.millis(1000),
|
Duration.millis(1000),
|
||||||
ae -> {
|
ae -> {
|
||||||
|
|
||||||
jihm.resetZoneJoueur();
|
jihm.resetZoneJoueur();
|
||||||
jihm.setZoneJoueur(pane);
|
jihm.setZoneJoueur(pp);
|
||||||
GestionnaireJeu.notifyPlateau();
|
GestionnaireJeu.notifyPlateau();
|
||||||
}));
|
}));
|
||||||
timeline.play();
|
timeline.play();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user