From 4263869d58b8cbe3e9747c0ff3d69ec7c53db6ed Mon Sep 17 00:00:00 2001 From: Kruss Date: Thu, 14 May 2020 12:31:14 +0200 Subject: [PATCH] changements IA --- src/ihm/controller/ChoisirEquipement.java | 19 +- src/ihm/controller/ChoisirJoueur.java | 3 + src/ihm/controller/LancerDes.java | 143 +++---- src/ihm/controller/PlateauController.java | 457 +++++++++++----------- src/main/JoueurVirtuel.java | 3 +- src/main/Plateau.java | 11 +- 6 files changed, 331 insertions(+), 305 deletions(-) diff --git a/src/ihm/controller/ChoisirEquipement.java b/src/ihm/controller/ChoisirEquipement.java index 7c4bb73..04cc17f 100644 --- a/src/ihm/controller/ChoisirEquipement.java +++ b/src/ihm/controller/ChoisirEquipement.java @@ -6,12 +6,19 @@ import java.util.List; import java.util.ResourceBundle; import carte.CarteEquipement; +import javafx.animation.KeyFrame; +import javafx.animation.Timeline; import javafx.fxml.FXML; import javafx.fxml.Initializable; +import javafx.scene.control.Button; import javafx.scene.image.ImageView; import javafx.scene.layout.GridPane; import javafx.scene.layout.HBox; +import javafx.util.Duration; +import main.Contexte; import main.GestionnaireJeu; +import main.Joueur; +import main.JoueurVirtuel; public class ChoisirEquipement implements Initializable{ @FXML private GridPane grilleEquipement; @@ -63,7 +70,6 @@ public class ChoisirEquipement implements Initializable{ iv.setFitHeight(100); iv.setFitHeight(100); iv.setPreserveRatio(true); - hbox.getChildren().add(iv); iv.setOnMouseClicked(e -> { equipementSelected = ce; @@ -71,4 +77,15 @@ public class ChoisirEquipement implements Initializable{ }); } } + + public void fireBtnIA(JoueurVirtuel jIA, Contexte c) { + Timeline timeline = new Timeline(new KeyFrame(Duration.millis(2000), ae -> { + equipementSelected = jIA.choisirEquipement(equipements); + GestionnaireJeu.notifyPlateau(); + })); + timeline.play(); + + } + + } diff --git a/src/ihm/controller/ChoisirJoueur.java b/src/ihm/controller/ChoisirJoueur.java index 900feec..afc8685 100644 --- a/src/ihm/controller/ChoisirJoueur.java +++ b/src/ihm/controller/ChoisirJoueur.java @@ -120,6 +120,9 @@ public class ChoisirJoueur implements Initializable { case CHOISIR_VISION: titre.setText("Choisissez le joueur à qui passer la carte vision!"); break; + case VOLER_EQUIP: + titre.setText("Choisissez le joueur à qui voler un equipement!"); + break; default: } } diff --git a/src/ihm/controller/LancerDes.java b/src/ihm/controller/LancerDes.java index 9ae38bc..05932e3 100644 --- a/src/ihm/controller/LancerDes.java +++ b/src/ihm/controller/LancerDes.java @@ -2,6 +2,7 @@ package ihm.controller; import java.util.Random; +import effet.action.Action; import ihm.Die; import ihm.DieImages; import javafx.animation.KeyFrame; @@ -27,17 +28,28 @@ public class LancerDes { private Contexte contexte; private int typeDe; private int[] rolls; - + private final static int LANCER_DE_4 = 0; private final static int LANCER_DE_6 = 1; private final static int LANCER_DES = 2; - - public LancerDes(int typeDe, int[] rolls, Contexte c){ + + public LancerDes(int typeDe, int[] rolls, Contexte c) { this.typeDe = typeDe; this.rolls = rolls; this.contexte = c; } - + + private Button interpret(String s) { + + String styles = "-fx-border-color: #e2e2e2;" + "-fx-border-width: 2;" + "-fx-background-radius: 0;" + + "-fx-background-color: #1d1d1d;" + "-fx-text-fill: #d8d8d8;" + + "-fx-background-insets: 0 0 0 0, 0, 1, 2;"; + + Button b = new Button(s); + b.setStyle(styles); + return b; + } + public VBox initLancer(Joueur joueur) { switch (typeDe) { case LANCER_DE_4: @@ -46,11 +58,10 @@ public class LancerDes { return initLancerD6(joueur); case LANCER_DES: return initLancerBoth(joueur); - default : + default: return null; } } - private VBox initLancerD4(Joueur j) { DieImages images = new DieImages(4); @@ -58,43 +69,39 @@ public class LancerDes { ImageView stackpane = die.getdieFace(); stackpane.setFitHeight(100); stackpane.setFitWidth(100); - Button btn = new Button(); + Button btn = interpret("Lancer dé"); Text txt = new Text("Lancez le dé"); - txt.setFont(Font.font(null, null, null, 12)); - txt.setFill(Color.WHITE); - btn.setText("Lancer dé"); + txt.setFont(Font.font(null, null, null, 12)); + txt.setFill(Color.WHITE); btn.setOnAction((ActionEvent event) -> { btn.setDisable(true);// Disable Button Random random = new Random(); Timeline timeline = new Timeline(new KeyFrame(Duration.seconds(0.1), (actionEvent) -> { - int tempRandom = random.nextInt(4)+1; + int tempRandom = random.nextInt(4) + 1; die.setDieFace(tempRandom); })); - + timeline.setCycleCount(20); timeline.play(); timeline.setOnFinished(actionEvent -> { - + die.setDieFace(rolls[0]); - txt.setText("Vous avez obtenu "+rolls[0]); - Timeline timeline2 = new Timeline(new KeyFrame( - Duration.millis(2000), - ae -> { - - - GestionnaireJeu.notifyPlateau(); - })); - timeline2.play(); + txt.setText("Vous avez obtenu " + rolls[0]); + Timeline timeline2 = new Timeline(new KeyFrame(Duration.millis(2000), ae -> { + + GestionnaireJeu.notifyPlateau(); + })); + timeline2.play(); + }); }); - }); - + HBox des = new HBox(stackpane); des.setAlignment(Pos.CENTER); - VBox root = new VBox(txt,des, new StackPane(btn)); + VBox root = new VBox(txt, des, new StackPane(btn)); root.setAlignment(Pos.CENTER); root.setSpacing(20); - if(j instanceof JoueurVirtuel) - btn.fire(); + if (j instanceof JoueurVirtuel) + btn.fire(); return root; } @@ -104,44 +111,41 @@ public class LancerDes { ImageView stackpane = die.getdieFace(); stackpane.setFitHeight(100); stackpane.setFitWidth(100); - Button btn = new Button(); + Button btn = interpret("Lancer dé"); Text txt = new Text("Lancez le dé"); - txt.setFont(Font.font(null, null, null, 12)); - txt.setFill(Color.WHITE); - btn.setText("Lancer dé"); + txt.setFont(Font.font(null, null, null, 12)); + txt.setFill(Color.WHITE); btn.setOnAction((ActionEvent event) -> { btn.setDisable(true);// Disable Button Random random = new Random(); Timeline timeline = new Timeline(new KeyFrame(Duration.seconds(.1), (actionEvent) -> { - int tempRandom = random.nextInt(6)+1; + int tempRandom = random.nextInt(6) + 1; die.setDieFace(tempRandom); })); - + timeline.setCycleCount(20); timeline.play(); timeline.setOnFinished(actionEvent -> { - + die.setDieFace(rolls[0]); - txt.setText("Vous avez obtenu "+rolls[0]); - Timeline timeline2 = new Timeline(new KeyFrame( - Duration.millis(2000), - ae -> { - GestionnaireJeu.notifyPlateau(); - })); - timeline2.play(); + txt.setText("Vous avez obtenu " + rolls[0]); + Timeline timeline2 = new Timeline(new KeyFrame(Duration.millis(2000), ae -> { + GestionnaireJeu.notifyPlateau(); + })); + timeline2.play(); + }); }); - }); - + HBox des = new HBox(stackpane); des.setAlignment(Pos.CENTER); - VBox root = new VBox(txt,des, new StackPane(btn)); + VBox root = new VBox(txt, des, new StackPane(btn)); root.setAlignment(Pos.CENTER); root.setSpacing(20); - if(j instanceof JoueurVirtuel) + if (j instanceof JoueurVirtuel) btn.fire(); return root; } - + private VBox initLancerBoth(Joueur j) { DieImages images = new DieImages(6); DieImages images2 = new DieImages(4); @@ -153,49 +157,46 @@ public class LancerDes { stackpane2.setFitHeight(100); stackpane.setFitWidth(100); stackpane2.setFitWidth(100); - Button btn = new Button(); + Button btn = interpret("Lancer dés"); Text txt = new Text("Lancez les dés"); - txt.setFont(Font.font(null, null, null, 12)); - txt.setFill(Color.WHITE); - btn.setText("Lancer dés"); + txt.setFont(Font.font(null, null, null, 12)); + txt.setFill(Color.WHITE); btn.setOnAction((ActionEvent event) -> { btn.setDisable(true);// Disable Button Random random = new Random(); - + Timeline timeline = new Timeline(new KeyFrame(Duration.seconds(.1), (actionEvent) -> { - int tempRandom = random.nextInt(6)+1; - int tempRandom2 = random.nextInt(4)+1; + int tempRandom = random.nextInt(6) + 1; + int tempRandom2 = random.nextInt(4) + 1; die.setDieFace(tempRandom); die2.setDieFace(tempRandom2); })); - + timeline.setCycleCount(20); timeline.play(); timeline.setOnFinished(actionEvent -> { - + die.setDieFace(rolls[1]); die2.setDieFace(rolls[0]); - - int result = rolls[0]+rolls[1]; - - txt.setText("Vous avez obtenu "+result); - Timeline timeline2 = new Timeline(new KeyFrame( - Duration.millis(2000), - ae -> { - GestionnaireJeu.notifyPlateau(); - - })); - timeline2.play(); + + int result = rolls[0] + rolls[1]; + + txt.setText("Vous avez obtenu " + result); + Timeline timeline2 = new Timeline(new KeyFrame(Duration.millis(2000), ae -> { + GestionnaireJeu.notifyPlateau(); + + })); + timeline2.play(); + }); + }); - - }); - + HBox des = new HBox(stackpane, stackpane2); des.setAlignment(Pos.CENTER); - VBox root = new VBox(txt,des, new StackPane(btn)); + VBox root = new VBox(txt, des, new StackPane(btn)); root.setAlignment(Pos.CENTER); root.setSpacing(20); - if(j instanceof JoueurVirtuel) + if (j instanceof JoueurVirtuel) btn.fire(); return root; } diff --git a/src/ihm/controller/PlateauController.java b/src/ihm/controller/PlateauController.java index a8b3bef..af91f0c 100644 --- a/src/ihm/controller/PlateauController.java +++ b/src/ihm/controller/PlateauController.java @@ -1,6 +1,5 @@ package ihm.controller; - import java.awt.Dimension; import java.awt.image.BufferedImage; import java.io.IOException; @@ -50,13 +49,16 @@ import main.Joueur; import main.JoueurVirtuel; public class PlateauController implements Initializable { - + private List listJoueur = new ArrayList(); private List joueursIHM; - - @FXML private AnchorPane rootPane; - @FXML private GridPane gridPaneVie; - @FXML public GridPane gridPaneLieux; + + @FXML + private AnchorPane rootPane; + @FXML + private GridPane gridPaneVie; + @FXML + public GridPane gridPaneLieux; private ChoisirBoolean cb; private ChoisirEquipement ce; @@ -64,130 +66,128 @@ public class PlateauController implements Initializable { private PiocherCarte pc; private LancerDes ld; - private static Map mapRessourcesCartes; - private static Map mapRessourcesDosCartes; - + private static Map mapRessourcesCartes; + private static Map mapRessourcesDosCartes; + public static int DICE_SIX = 1; public static int DICE_QUATRE = 0; public static int DICE_BOTH = 2; - - private final double RES = 200./2250.; + + private final double RES = 200. / 2250.; private ResourceBundle resourceBundle; - + /** * initialise les données du plateau */ @Override public void initialize(URL arg0, ResourceBundle arg1) { - //System.out.println("Création du plateau ..."); - + // System.out.println("Création du plateau ..."); + this.resourceBundle = arg1; this.joueursIHM = new ArrayList(); - GestionnaireJeu gj = GestionnaireJeu.getGestionnaireJeu(); + GestionnaireJeu gj = GestionnaireJeu.getGestionnaireJeu(); RessourceLoader rl = gj.getRessourceLoader(); - + Map map = gj.getMapJoueurs(); - - for(int i = 0 ; i < gridPaneVie.getChildren().size();i++) { - + + for (int i = 0; i < gridPaneVie.getChildren().size(); i++) { + Pane p = (Pane) gridPaneVie.getChildren().get(i); Label l = (Label) p.getChildren().get(1); - l.setText(i+""); - + l.setText(i + ""); + } - - for(int i : map.keySet()) { + + for (int i : map.keySet()) { System.out.println(i); - joueursIHM.add(new JoueurIHM(i,map.get(i),getPaneJoueur(i),new Color(Math.random(), Math.random(), Math.random(),1),gridPaneVie, gridPaneLieux,this)); + joueursIHM.add(new JoueurIHM(i, map.get(i), getPaneJoueur(i), + new Color(Math.random(), Math.random(), Math.random(), 1), gridPaneVie, gridPaneLieux, this)); } - - for(int i = 0; i cl = gj.getCartesLieux(); List ivs = this.getLieux(); - applyImages(cl,ivs); - + applyImages(cl, ivs); + } - - + private void applyImages(List cls, List ivs) { - + int size = cls.size(); - if(cls.size() == ivs.size()) { - - for(int i = 0; i < size; i++) { - + if (cls.size() == ivs.size()) { + + for (int i = 0; i < size; i++) { + CarteLieu cl = cls.get(i); ImageView iv = ivs.get(i); - + BufferedImage bi = mapRessourcesCartes.get(cl); Image image = RessourceLoader.toJavaFX(bi); - applyImageLieu(iv,image); - } - } + applyImageLieu(iv, image); + } + } } private void applyImageLieu(ImageView iv, Image im) { - + iv.setImage(im); Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize(); - iv.setFitWidth(RES*screenSize.width); - //iv.fitHeightProperty().bind(sp.heightProperty()); - //iv.fitWidthProperty().bind(sp.widthProperty()); - + iv.setFitWidth(RES * screenSize.width); + // iv.fitHeightProperty().bind(sp.heightProperty()); + // iv.fitWidthProperty().bind(sp.widthProperty()); + iv.setPreserveRatio(true); - //iv.fitWidthProperty().bind(sp.widthProperty()); + // iv.fitWidthProperty().bind(sp.widthProperty()); } - private Pane getPaneJoueur(int i) { - - System.out.println("i "+i); - int position = i%8; - HBox hb = (HBox) rootPane.getChildren().get(0); + private Pane getPaneJoueur(int i) { + + System.out.println("i " + i); + int position = i % 8; + HBox hb = (HBox) rootPane.getChildren().get(0); GridPane gp = null; - + // BAS - if(position < 2) { + if (position < 2) { VBox group = (VBox) hb.getChildren().get(1); gp = (GridPane) group.getChildren().get(2); - - //DROITE - }else if(position < 4) { - System.out.println("Oui"); - Group group = (Group) hb.getChildren().get(2); - gp = (GridPane) group.getChildren().get(0); - - //HAUT - }else if(position < 6) { - + + // DROITE + } else if (position < 4) { + System.out.println("Oui"); + Group group = (Group) hb.getChildren().get(2); + gp = (GridPane) group.getChildren().get(0); + + // HAUT + } else if (position < 6) { + VBox group = (VBox) hb.getChildren().get(1); gp = (GridPane) group.getChildren().get(0); - - //GAUCHE - }else if(position < 8) { + + // GAUCHE + } else if (position < 8) { Group group = (Group) hb.getChildren().get(0); gp = (GridPane) group.getChildren().get(0); - + } - - - return (Pane) gp.getChildren().get(i%2); + + return (Pane) gp.getChildren().get(i % 2); } - + private List getLieux() { - + List views = new ArrayList(); - for(int i = 0 ; i < gridPaneLieux.getChildren().size(); i++) { - + for (int i = 0; i < gridPaneLieux.getChildren().size(); i++) { + HBox p = (HBox) gridPaneLieux.getChildren().get(i); - for(int j = 0; j < p.getChildren().size(); j++) { + for (int j = 0; j < p.getChildren().size(); j++) { StackPane sp = (StackPane) p.getChildren().get(j); ImageView iv = (ImageView) sp.getChildren().get(0); views.add(iv); @@ -195,7 +195,7 @@ public class PlateauController implements Initializable { } return views; } - + /** * Affiche aux yeux de tous la carte personnage du joueur * @@ -207,25 +207,23 @@ public class PlateauController implements Initializable { final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE); final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle); Parent root = fxmlLoader.load(); - - RevelationController rc = fxmlLoader.getController(); - rc.showInformation(listJoueur.get(numJoueur)); - + + RevelationController rc = fxmlLoader.getController(); + rc.showInformation(listJoueur.get(numJoueur)); + PopUp popup = new PopUp(root, "Consulter sa carte"); popup.display(); } - - - + public JoueurIHM getJoueurIHM(Joueur j) { - - for(JoueurIHM joueurIHM : joueursIHM) { - if(joueurIHM.getJoueur().equals(j)) return joueurIHM; + + for (JoueurIHM joueurIHM : joueursIHM) { + if (joueurIHM.getJoueur().equals(j)) + return joueurIHM; } return null; } - - + /** * Permet de consulter sa carte perssonage en cas d'oublie * @@ -237,15 +235,14 @@ public class PlateauController implements Initializable { final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE); final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle); Parent root = fxmlLoader.load(); - - - AfficherCarteController acc = fxmlLoader.getController(); - acc.showInformation(listJoueur.get(numJoueur)); - + + AfficherCarteController acc = fxmlLoader.getController(); + acc.showInformation(listJoueur.get(numJoueur)); + PopUp popup = new PopUp(root, "Consulter sa carte"); popup.display(); } - + /** * Place les joueurs au bon endroit sur le plateau * @@ -253,17 +250,17 @@ public class PlateauController implements Initializable { */ public void placerJoueurs(Map j) { Set set = j.keySet(); - - for(int i = 0; i < 8; i++) { - if(!set.contains(i)) { + + for (int i = 0; i < 8; i++) { + if (!set.contains(i)) { getPaneJoueur(i).getChildren().setAll(); } } } public void rollDice(Joueur joueur, int typeDice, int[] rolls, Contexte c) { - - this.ld=new LancerDes(typeDice,rolls,c); + + this.ld = new LancerDes(typeDice, rolls, c); JoueurIHM jihm = getJoueurIHM(joueur); jihm.setZoneJoueur(ld.initLancer(joueur)); } @@ -272,143 +269,145 @@ public class PlateauController implements Initializable { final URL fxmlURL = getClass().getResource("/ihm/ressources/choisirBoolean.fxml"); final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE); final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle); - Pane root = (Pane)fxmlLoader.load(); + Pane root = (Pane) fxmlLoader.load(); this.cb = fxmlLoader.getController(); cb.setTitre(contexte); - if(j instanceof JoueurVirtuel) { - switch(contexte) { - case ACTIVER_EFFET_LIEU : + if (j instanceof JoueurVirtuel) { + switch (contexte) { + case ACTIVER_EFFET_LIEU: cb.fireBtnIAEffetLieu(); break; - case ATTAQUER : - cb.fireBtnIAattaquer((JoueurVirtuel)j, j.getJoueursRange()); + case ATTAQUER: + cb.fireBtnIAattaquer((JoueurVirtuel) j, j.getJoueursRange()); break; - case CHOISIR_VISION : - cb.fireBtnIAVision();; + case CHOISIR_VISION: + cb.fireBtnIAVision(); + ; break; } } JoueurIHM jihm = getJoueurIHM(j); jihm.setZoneJoueur(root); } - public void afficherChoisirEquipementVole(Joueur j, List lce) throws IOException { final URL fxmlURL = getClass().getResource("/ihm/ressources/Jouer_tour(2a)voler_equipement.fxml"); final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE); final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle); - Pane root = (Pane)fxmlLoader.load(); + Pane root = (Pane) fxmlLoader.load(); this.ce = fxmlLoader.getController(); this.ce.setListCarteEquipements(lce); this.ce.initChoisirEquipement(); + if (j instanceof JoueurVirtuel) + this.ce.fireBtnIA((JoueurVirtuel) j, Contexte.VOLER_EQUIP); JoueurIHM jihm = getJoueurIHM(j); jihm.setZoneJoueur(root); } public void afficherAlterationVie(Joueur j, int valeur) throws IOException, InterruptedException { - + final URL fxmlURL = getClass().getResource("/ihm/ressources/AlterationVieZJ.fxml"); final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE); final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle); - Pane root = (Pane)fxmlLoader.load(); - AlterationVieZJ avzj = fxmlLoader.getController(); + Pane root = (Pane) fxmlLoader.load(); + AlterationVieZJ avzj = fxmlLoader.getController(); avzj.changeLabel(valeur); - - + JoueurIHM jihm = getJoueurIHM(j); Pane p = (Pane) jihm.getZoneJoueur(); Pane pane = new Pane(); - - if(p.getChildren() != null && p.getChildren().size() > 0) { - + + 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(pp); - GestionnaireJeu.notifyPlateau(); + Timeline timeline = new Timeline(new KeyFrame(Duration.millis(1000), ae -> { + + jihm.resetZoneJoueur(); + jihm.setZoneJoueur(pp); + GestionnaireJeu.notifyPlateau(); })); timeline.play(); } - + public void afficherLieu(Joueur j) throws IOException { - + final URL fxmlURL = getClass().getResource("/ihm/ressources/LieuZJ.fxml"); final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE); final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle); - Pane root = (Pane)fxmlLoader.load(); - LieuZJ lzj = fxmlLoader.getController(); + Pane root = (Pane) fxmlLoader.load(); + LieuZJ lzj = fxmlLoader.getController(); lzj.setImageView(this.getImageCarte(j.getCarteLieu())); - if(j instanceof JoueurVirtuel) lzj.fireBtnIA(); + if (j instanceof JoueurVirtuel) + lzj.fireBtnIA(); JoueurIHM jihm = getJoueurIHM(j); - if(jihm.getPosition()==4 || jihm.getPosition()==5) { - SplitPane s=(SplitPane)root.getChildren().get(0); - AnchorPane a=(AnchorPane)s.getItems().get(0); - VBox v= (VBox)a.getChildren().get(0); - AnchorPane b=(AnchorPane)s.getItems().get(1); - ImageView i= (ImageView)b.getChildren().get(0); + if (jihm.getPosition() == 4 || jihm.getPosition() == 5) { + SplitPane s = (SplitPane) root.getChildren().get(0); + AnchorPane a = (AnchorPane) s.getItems().get(0); + VBox v = (VBox) a.getChildren().get(0); + AnchorPane b = (AnchorPane) s.getItems().get(1); + ImageView i = (ImageView) b.getChildren().get(0); v.setRotate(180); i.setRotate(180); s.setRotate(180); } - + jihm.setZoneJoueur(root); } + public void afficherChoisirJoueur(Joueur j, List joueurs, Contexte contexte) throws IOException { final URL fxmlURL = getClass().getResource("/ihm/ressources/choixJoueurAttq.fxml"); final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE); final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle); - Pane root = (Pane)fxmlLoader.load(); - + Pane root = (Pane) fxmlLoader.load(); + List joueursIHM = toJoueursIHM(joueurs); - + this.cj = fxmlLoader.getController(); cj.setTitre(contexte); this.cj.setListJoueursIHM(joueursIHM); this.cj.initButtons(); - if(j instanceof JoueurVirtuel) - cj.fireBtnIA((JoueurVirtuel)j, contexte); + if (j instanceof JoueurVirtuel) + cj.fireBtnIA((JoueurVirtuel) j, contexte); JoueurIHM jihm = getJoueurIHM(j); jihm.setZoneJoueur(root); } - private List toJoueursIHM(List joueurs) { - - List list = new ArrayList(); - - for(Joueur j : joueurs) { - list.add(getJoueurIHM(j)); - } - - return list; - } + private List toJoueursIHM(List joueurs) { + + List list = new ArrayList(); + + for (Joueur j : joueurs) { + list.add(getJoueurIHM(j)); + } + + return list; + } public void afficherPiocher(Joueur j) throws IOException { - + final URL fxmlURL = getClass().getResource("/ihm/ressources/Jouer_tour(2b)piocher_carte.fxml"); final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE); final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle); - Pane root = (Pane)fxmlLoader.load(); - //CartePiochable lzj = fxmlLoader.getController(); - //lzj.setImageView(this.getImageCarte(j.getCarteLieu())); + Pane root = (Pane) fxmlLoader.load(); + // CartePiochable lzj = fxmlLoader.getController(); + // lzj.setImageView(this.getImageCarte(j.getCarteLieu())); JoueurIHM jihm = getJoueurIHM(j); jihm.setZoneJoueur(root); } -public void afficherEffet(Joueur j) throws IOException { - + + public void afficherEffet(Joueur j) throws IOException { + final URL fxmlURL = getClass().getResource("/ihm/ressources/Jouer_tour(2b)piocher_carte.fxml"); final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE); final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle); - Pane root = (Pane)fxmlLoader.load(); - //CartePiochable lzj = fxmlLoader.getController(); - //lzj.setImageView(this.getImageCarte(j.getCarteLieu())); + Pane root = (Pane) fxmlLoader.load(); + // CartePiochable lzj = fxmlLoader.getController(); + // lzj.setImageView(this.getImageCarte(j.getCarteLieu())); JoueurIHM jihm = getJoueurIHM(j); jihm.setZoneJoueur(root); } @@ -420,181 +419,188 @@ public void afficherEffet(Joueur j) throws IOException { jihm.getZoneJoueur().getChildren().setAll(); return result; } - + public boolean getChoix(Joueur joueur) { JoueurIHM jihm = getJoueurIHM(joueur); boolean result = this.cb.getResult(); this.cb = null; jihm.getZoneJoueur().getChildren().setAll(); return result; - } + } + public Joueur getChoixJoueur(Joueur joueur) { JoueurIHM jihm = getJoueurIHM(joueur); - JoueurIHM result = this.cj.getJoueurSelected(); - this.cj = null; - jihm.getZoneJoueur().getChildren().setAll(); - return result.getJoueur(); + JoueurIHM result = this.cj.getJoueurSelected(); + this.cj = null; + jihm.getZoneJoueur().getChildren().setAll(); + return result.getJoueur(); } - public Type getChoixCarte(Joueur joueur) { + + public Type getChoixCarte(Joueur joueur) { JoueurIHM jihm = getJoueurIHM(joueur); Type result = this.pc.getCarte(); this.pc = null; jihm.getZoneJoueur().getChildren().setAll(); return result; - } + } public void deplacer(Joueur currentJoueur) { JoueurIHM jIHM = getJoueurIHM(currentJoueur); jIHM.replacerPionLieu(); - + } public void updateVieJoueur(Joueur joueur, int damage) { JoueurIHM jIHM = getJoueurIHM(joueur); - jIHM.getZoneJoueur().getChildren().setAll(); jIHM.deplacerPionVie(damage); } - + @FXML public void mettreEnPause(MouseEvent me) throws IOException { - - InputStream fileSound1 = getClass().getResourceAsStream("/ihm/ressources/musique/BEEP1.wav"); + + InputStream fileSound1 = getClass().getResourceAsStream("/ihm/ressources/musique/BEEP1.wav"); EffetSonore.playSoundEffect(fileSound1); - + System.out.println("Jeu en pause ..."); final URL fxmlURL = getClass().getResource("/ihm/ressources/Pause.fxml"); final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE); final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle); - Pane root = (Pane)fxmlLoader.load(); - + Pane root = (Pane) fxmlLoader.load(); + PopUp pu = new PopUp(root, "Pause"); pu.display(); } - public static Image getImageCarte(Carte carte) { BufferedImage bi = mapRessourcesCartes.get(carte); return RessourceLoader.toJavaFX(bi); } - + public static Image getImageDosCarte(String s) { BufferedImage bi = mapRessourcesDosCartes.get(s); return RessourceLoader.toJavaFX(bi); } - public void ajouterEquipement(Joueur j, CarteEquipement e) { JoueurIHM jihm = getJoueurIHM(j); jihm.ajouterEquipement(e); } - public void retirerEquipement(Joueur j, CarteEquipement e) { JoueurIHM jihm = getJoueurIHM(j); jihm.retirerEquipement(e); } - + public void close() throws IOException { final URL fxmlURL = PlateauController.class.getResource("/ihm/ressources/Menu.fxml"); final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE); final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle); Pane pane = fxmlLoader.load(); - rootPane.getChildren().setAll(pane); + rootPane.getChildren().setAll(pane); } public void afficherLT(Joueur j, CartePiochable cartePiochable) throws IOException { - + Image i = getImageCarte(cartePiochable); ImageView iv = new ImageView(i); Pane p = new Pane(iv); - PopUp pu = new PopUp(p,"Image"); - pu.getStage().focusedProperty().addListener((obs,wasFocused,isNowFocused) -> { - if(!isNowFocused) { + PopUp pu = new PopUp(p, "Image"); + pu.getStage().focusedProperty().addListener((obs, wasFocused, isNowFocused) -> { + if (!isNowFocused) { GestionnaireJeu.notifyPlateau(); pu.getStage().hide(); } - }); - if(j instanceof JoueurVirtuel) { + }); + if (j instanceof JoueurVirtuel) { Timeline timeline = new Timeline(new KeyFrame(Duration.millis(3000), ae -> { pu.getStage().hide(); })); timeline.play(); - } + } pu.display(); - + } - + public void afficherVision(Joueur j, CartePiochable cartePiochable) throws IOException { - + final URL fxmlURL = getClass().getResource("/ihm/ressources/RecevoirCarte.fxml"); final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE); final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle); - Pane root = (Pane)fxmlLoader.load(); - RecevoirCarte lzj = fxmlLoader.getController(); + Pane root = (Pane) fxmlLoader.load(); + RecevoirCarte lzj = fxmlLoader.getController(); Image im = getImageCarte(cartePiochable); lzj.setImageView(im); lzj.setText("Cachez la carte vision"); - if(j instanceof JoueurVirtuel) lzj.fireBtnIA(); + if (j instanceof JoueurVirtuel) + lzj.fireBtnIA(); JoueurIHM jihm = getJoueurIHM(j); - if(jihm.getPosition()==4 || jihm.getPosition()==5) { - SplitPane s=(SplitPane)root.getChildren().get(0); - AnchorPane a=(AnchorPane)s.getItems().get(0); - VBox v= (VBox)a.getChildren().get(0); - AnchorPane b=(AnchorPane)s.getItems().get(1); - ImageView i= (ImageView)b.getChildren().get(0); - + if (jihm.getPosition() == 4 || jihm.getPosition() == 5) { + SplitPane s = (SplitPane) root.getChildren().get(0); + AnchorPane a = (AnchorPane) s.getItems().get(0); + VBox v = (VBox) a.getChildren().get(0); + AnchorPane b = (AnchorPane) s.getItems().get(1); + ImageView i = (ImageView) b.getChildren().get(0); + v.setRotate(180); i.setRotate(180); s.setRotate(180); } jihm.getZoneJoueur(); jihm.setZoneJoueur(root); - + } - - public Map getMapRessourcesDosCartes() { + public Map getMapRessourcesDosCartes() { return mapRessourcesDosCartes; } - public void setMapRessourcesDosCartes(Map mapRessourcesDosCartes) { + public void setMapRessourcesDosCartes(Map mapRessourcesDosCartes) { this.mapRessourcesDosCartes = mapRessourcesDosCartes; } private Action choixAction; - + public void afficherChoisirAction(Joueur joueur, List list) { - List