From 3dacaac186c9e4fc776f0674c1577412cd7e87c2 Mon Sep 17 00:00:00 2001 From: Paul Gross Date: Thu, 14 May 2020 10:15:16 +0200 Subject: [PATCH] =?UTF-8?q?Se=20r=C3=A9veler=20JoueurVirtuel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/database/CreatingCardsTest.java | 6 +-- .../ActionAltererStatistiquesJoueur.java | 24 ++++++++- .../ActionAltererStatistiquesJoueurRoll.java | 5 ++ src/effet/action/ActionAttaquer.java | 5 ++ src/effet/action/ActionReveal.java | 6 ++- src/effet/action/ActionVoler.java | 7 +++ src/ihm/controller/JoueurIHM.java | 35 ++++++++----- src/ihm/controller/PlateauController.java | 52 ++++++++++++++++++- src/ihm/ressources/ChoisirAction.fxml | 11 ++++ src/main/Contexte.java | 2 +- src/main/GestionnaireJeu.java | 41 ++++++++++++--- src/main/Joueur.java | 3 ++ src/main/Plateau.java | 3 -- 13 files changed, 168 insertions(+), 32 deletions(-) create mode 100644 src/ihm/ressources/ChoisirAction.fxml diff --git a/src/database/CreatingCardsTest.java b/src/database/CreatingCardsTest.java index 650fb7f..6b26d2b 100644 --- a/src/database/CreatingCardsTest.java +++ b/src/database/CreatingCardsTest.java @@ -269,10 +269,8 @@ public class CreatingCardsTest { // 64 CarteLieu lieu3 = new CarteLieu(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)))); + lieu3.setEffet(new EffetChoisirCible(new ActionMultipleChoisir(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,-2,true), + new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP,1,true)))); DatabaseManager.queryInsertObject(64,lieu3); // 65 diff --git a/src/effet/action/ActionAltererStatistiquesJoueur.java b/src/effet/action/ActionAltererStatistiquesJoueur.java index 9666a48..13c8770 100644 --- a/src/effet/action/ActionAltererStatistiquesJoueur.java +++ b/src/effet/action/ActionAltererStatistiquesJoueur.java @@ -58,8 +58,30 @@ public class ActionAltererStatistiquesJoueur extends Action{ this.valeur = valeur; } + public String getKey() { + return this.key; + } + @Override public String toString(){ - return this.key+" "+this.valeur+" "+this.ajouter; + + String mot1 = ""; + String mot2 = ""; + if(this.ajouter) { + + if(valeur < 0) { + mot1 = "Retirer"; + }else { + mot1 = "Ajouter"; + } + + mot2 = " au "; + + }else { + mot1 = "Placer à"; + mot2 = " le "; + } + + return mot1+" "+valeur+" "+key+mot2+"joueur"; } } diff --git a/src/effet/action/ActionAltererStatistiquesJoueurRoll.java b/src/effet/action/ActionAltererStatistiquesJoueurRoll.java index 6e935dd..2327b7d 100644 --- a/src/effet/action/ActionAltererStatistiquesJoueurRoll.java +++ b/src/effet/action/ActionAltererStatistiquesJoueurRoll.java @@ -33,4 +33,9 @@ public class ActionAltererStatistiquesJoueurRoll extends ActionAltererStatistiqu super.affecte(j1, j2); } + + @Override + public String toString(){ + return "Lancer un dé "+valeurRoll+" pour modifier les "+this.getKey()+" du joueur"; + } } diff --git a/src/effet/action/ActionAttaquer.java b/src/effet/action/ActionAttaquer.java index 5bc7c21..c6d2365 100644 --- a/src/effet/action/ActionAttaquer.java +++ b/src/effet/action/ActionAttaquer.java @@ -18,5 +18,10 @@ public class ActionAttaquer extends Action { p.attaquer(j1, j2); } + + @Override + public String toString() { + return "Attaquer un joueur"; + } } diff --git a/src/effet/action/ActionReveal.java b/src/effet/action/ActionReveal.java index 0824f45..c2f4b33 100644 --- a/src/effet/action/ActionReveal.java +++ b/src/effet/action/ActionReveal.java @@ -8,10 +8,14 @@ public class ActionReveal extends Action { * */ private static final long serialVersionUID = 7972405763634156578L; - + @Override public void affecte(Joueur j1, Joueur j2) { j2.reveal(); } + @Override + public String toString() { + return "Se réveler"; + } } diff --git a/src/effet/action/ActionVoler.java b/src/effet/action/ActionVoler.java index c2280ec..1d5de10 100644 --- a/src/effet/action/ActionVoler.java +++ b/src/effet/action/ActionVoler.java @@ -3,6 +3,7 @@ package effet.action; import java.util.List; import carte.CarteEquipement; +import javafx.scene.control.Label; import main.Joueur; public class ActionVoler extends Action{ @@ -51,4 +52,10 @@ public class ActionVoler extends Action{ } } + + @Override + public String toString() { + return "Voler un autre joueur"; + } + } diff --git a/src/ihm/controller/JoueurIHM.java b/src/ihm/controller/JoueurIHM.java index aa0f4ab..ce5e35a 100644 --- a/src/ihm/controller/JoueurIHM.java +++ b/src/ihm/controller/JoueurIHM.java @@ -66,20 +66,27 @@ public class JoueurIHM { private void initRevealButton() { Button btn = getRevealButton(); btn.setOnAction(x -> { - - this.joueur.reveal(); - ImageView iv = this.getCartePersonnage(); - System.out.println(this.joueur.getCartePersonnage()); - Image im = this.pc.getImageCarte(this.joueur.getCartePersonnage()); - GridPane gp = (GridPane) iv.getParent(); - iv.setImage(im); - iv.fitHeightProperty().bind(gp.heightProperty()); - initButtonEffect(btn); - //btn.setDisable(true); - btn.setText("Utiliser Effet"); - estRevele = true; + this.joueur.setRevele(true);; + actionReveler(btn); }); } + + public void reveler() { + Button btn = getRevealButton(); + actionReveler(btn); + } + + private void actionReveler(Button btn) { + ImageView iv = this.getCartePersonnage(); + System.out.println(this.joueur.getCartePersonnage()); + Image im = this.pc.getImageCarte(this.joueur.getCartePersonnage()); + GridPane gp = (GridPane) iv.getParent(); + iv.setImage(im); + iv.fitHeightProperty().bind(gp.heightProperty()); + initButtonEffect(btn); + btn.setText("Utiliser Effet"); + estRevele = true; + } public Button getRevealButton() { Pane p = (Pane) zoneJoueur.getChildren().get(2); @@ -258,4 +265,8 @@ public class JoueurIHM { return this.joueur.getNom(); } + + + + } diff --git a/src/ihm/controller/PlateauController.java b/src/ihm/controller/PlateauController.java index aa677e8..1ee90bd 100644 --- a/src/ihm/controller/PlateauController.java +++ b/src/ihm/controller/PlateauController.java @@ -19,6 +19,7 @@ import carte.CarteLieu; import carte.CartePiochable; import carte.CartePiochable.Type; import database.RessourceLoader; +import effet.action.Action; import ihm.EffetSonore; import ihm.PopUp; import javafx.animation.KeyFrame; @@ -28,6 +29,7 @@ import javafx.fxml.FXMLLoader; import javafx.fxml.Initializable; import javafx.scene.Group; import javafx.scene.Parent; +import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.control.SplitPane; import javafx.scene.image.Image; @@ -69,6 +71,7 @@ public class PlateauController implements Initializable { public static int DICE_BOTH = 2; private final double RES = 200./2250.; + private ResourceBundle resourceBundle; /** * initialise les données du plateau @@ -77,6 +80,7 @@ public class PlateauController implements Initializable { public void initialize(URL arg0, ResourceBundle arg1) { //System.out.println("Création du plateau ..."); + this.resourceBundle = arg1; this.joueursIHM = new ArrayList(); GestionnaireJeu gj = GestionnaireJeu.getGestionnaireJeu(); RessourceLoader rl = gj.getRessourceLoader(); @@ -130,8 +134,7 @@ public class PlateauController implements Initializable { } private void applyImageLieu(ImageView iv, Image im) { - - StackPane sp = (StackPane) iv.getParent(); + iv.setImage(im); Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize(); iv.setFitWidth(RES*screenSize.width); @@ -549,4 +552,49 @@ public void afficherEffet(Joueur j) throws IOException { public void setMapRessourcesDosCartes(Map mapRessourcesDosCartes) { this.mapRessourcesDosCartes = mapRessourcesDosCartes; } + + + private Action choixAction; + + public void afficherChoisirAction(Joueur joueur, List list) { + + final URL fxmlURL = getClass().getResource("/ihm/ressources/ChoisirAction.fxml"); + final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE); + final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle); + + List