From ba5976ec93f7f056d72ab375afd6899738276bcd Mon Sep 17 00:00:00 2001 From: Paul Gross Date: Thu, 30 Apr 2020 19:10:41 +0200 Subject: [PATCH] =?UTF-8?q?Am=C3=A9lioration=20plateau?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ihm/controller/GestionnaireDePions.java | 39 + src/ihm/controller/JoueurIHM.java | 36 +- src/ihm/controller/Pion.java | 31 + src/ihm/controller/PlateauController.java | 132 +-- src/ihm/controller/PlayersController.java | 12 +- src/ihm/ressources/Choix_joueur.fxml | 16 +- src/ihm/ressources/Plateau.fxml | 170 ++-- src/ihm/ressources/PlateauTest.fxml | 891 +++++++++++--------- 8 files changed, 764 insertions(+), 563 deletions(-) create mode 100644 src/ihm/controller/GestionnaireDePions.java create mode 100644 src/ihm/controller/Pion.java diff --git a/src/ihm/controller/GestionnaireDePions.java b/src/ihm/controller/GestionnaireDePions.java new file mode 100644 index 0000000..6d954c6 --- /dev/null +++ b/src/ihm/controller/GestionnaireDePions.java @@ -0,0 +1,39 @@ +package ihm.controller; + +import javafx.scene.layout.FlowPane; +import javafx.scene.layout.GridPane; +import javafx.scene.layout.StackPane; +import javafx.scene.paint.Color; + +public class GestionnaireDePions { + + private Pion pionVie; + private Pion pionLieu; + + private GridPane gridPaneVie; + + public GestionnaireDePions(Color color,GridPane gridPaneVie) { + + this.gridPaneVie = gridPaneVie; + this.pionVie = new Pion(color); + this.pionLieu = new Pion(color); + } + + public void deplacerPionVie(int damage) { + GridPane gp = this.gridPaneVie; + System.out.println(gp); + int row = pionVie.getPosition().x; + + StackPane nAncient = (StackPane) gp.getChildren().get(row); + FlowPane fpAncient = (FlowPane) nAncient.getChildren().get(0); + fpAncient.getChildren().remove(pionVie); + + StackPane nNew = (StackPane) gp.getChildren().get(damage); + FlowPane fpNew = (FlowPane) nNew.getChildren().get(0); + fpNew.getChildren().add(pionVie); + } + + public void deplacerPionLieux() { + + } +} diff --git a/src/ihm/controller/JoueurIHM.java b/src/ihm/controller/JoueurIHM.java index c8bfd96..7eda29a 100644 --- a/src/ihm/controller/JoueurIHM.java +++ b/src/ihm/controller/JoueurIHM.java @@ -4,7 +4,14 @@ import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.image.ImageView; import javafx.scene.layout.AnchorPane; +import javafx.scene.layout.Border; +import javafx.scene.layout.BorderStroke; +import javafx.scene.layout.BorderStrokeStyle; +import javafx.scene.layout.BorderWidths; +import javafx.scene.layout.CornerRadii; +import javafx.scene.layout.GridPane; import javafx.scene.layout.Pane; +import javafx.scene.paint.Color; import main.Joueur; public class JoueurIHM { @@ -12,16 +19,39 @@ public class JoueurIHM { private int position; private Joueur joueur; private Pane pane; + private GestionnaireDePions gestionnaireDePions; + private Color color; - public JoueurIHM(int i, Joueur joueur, Pane pane) { + public JoueurIHM(int i, Joueur joueur, Pane pane, Color color, GridPane gridPaneVie) { + this.setPosition(i); this.setJoueur(joueur); this.pane = pane; + this.color = color; + this.gestionnaireDePions = new GestionnaireDePions(this.color,gridPaneVie); + + pane.setBorder(new Border(new BorderStroke(color, BorderStrokeStyle.SOLID, CornerRadii.EMPTY, new BorderWidths(5)))); String name = joueur.getNom(); setLabelJoueur(name); + initRevealButton(); } + private void initRevealButton() { + Button btn = getRevealButton(); + btn.setOnAction(x -> { + + this.joueur.reveal(); + ImageView iv = this.getCartePersonnage(); + // TODO + //this.joueur.getCartePersonnage().getId(); + //iv.setImage(arg0); + System.out.println(joueur.getRevele()); + btn.setDisable(true); + }); + + } + public Button getRevealButton() { Pane p = (Pane) pane.getChildren().get(1); return (Button) p.getChildren().get(1); @@ -66,5 +96,9 @@ public class JoueurIHM { public void setJoueur(Joueur joueur) { this.joueur = joueur; } + + public void deplacerPionVie(int damage) { + this.gestionnaireDePions.deplacerPionVie(damage); + } } diff --git a/src/ihm/controller/Pion.java b/src/ihm/controller/Pion.java new file mode 100644 index 0000000..ad97001 --- /dev/null +++ b/src/ihm/controller/Pion.java @@ -0,0 +1,31 @@ +package ihm.controller; + +import java.awt.Point; + +import javafx.scene.paint.Color; +import javafx.scene.shape.Circle; + +public class Pion extends Circle{ + + private static final double RADIUS = 8.0; + private static final double RED= 0.0; + private Point position; + + public Pion(Color color) { + + this.position = new Point(0,0); + this.setRadius(RADIUS); + this.setFill(color); + this.setStroke(new Color(0,0,0,1)); + this.setStrokeWidth(1); + } + + public void setPosition(int x, int y) { + this.position = new Point(x,y); + } + + public Point getPosition() { + return this.position; + } + +} diff --git a/src/ihm/controller/PlateauController.java b/src/ihm/controller/PlateauController.java index d713b1c..006c2b8 100644 --- a/src/ihm/controller/PlateauController.java +++ b/src/ihm/controller/PlateauController.java @@ -4,11 +4,11 @@ package ihm.controller; import java.io.IOException; import java.net.URL; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.Locale; import java.util.Map; import java.util.ResourceBundle; +import java.util.Set; import ihm.PopUp; import ihm.PopUpBoolean; @@ -16,48 +16,25 @@ import javafx.fxml.FXML; import javafx.fxml.FXMLLoader; import javafx.fxml.Initializable; import javafx.scene.Parent; -import javafx.scene.control.Button; import javafx.scene.control.Label; -import javafx.scene.image.ImageView; import javafx.scene.layout.AnchorPane; -import javafx.scene.layout.HBox; +import javafx.scene.layout.BorderPane; +import javafx.scene.layout.GridPane; import javafx.scene.layout.Pane; -import javafx.scene.layout.VBox; +import javafx.scene.paint.Color; import main.GestionnaireJeu; -import javafx.scene.shape.Circle; import main.Joueur; public class PlateauController implements Initializable { private List listJoueur = new ArrayList(); - private Map joueursPane; - - @FXML private AnchorPane rootPane; - @FXML private HBox joueur1; - @FXML private HBox joueur2; - @FXML private HBox joueur3; - @FXML private HBox joueur4; - @FXML private VBox joueur5; - @FXML private VBox joueur6; - @FXML private VBox joueur7; - @FXML private VBox joueur8; - - private List vboxJoueur = new ArrayList(); - private List hboxJoueur = new ArrayList(); - private List