From 2ab87b04b29596c85b210085e9beffb16402d952 Mon Sep 17 00:00:00 2001 From: Paul Gross Date: Fri, 1 May 2020 19:09:48 +0200 Subject: [PATCH] Prise en compte des zones joueurs --- src/ihm/Main.java | 12 +++-- src/ihm/ZoneJoueurThread.java | 22 ++++++++ src/ihm/controller/ChoisirBoolean.java | 49 +++++++++-------- src/ihm/controller/JoueurIHM.java | 34 ++++++++---- src/ihm/controller/PlateauController.java | 32 ++++++++--- src/ihm/controller/PlayersController.java | 2 +- src/ihm/ressources/choisirBoolean.fxml | 7 ++- src/main/GestionnaireJeu.java | 65 ++++++++++++++++++++--- src/main/Plateau.java | 9 ++-- src/main/View.java | 23 ++++---- 10 files changed, 184 insertions(+), 71 deletions(-) create mode 100644 src/ihm/ZoneJoueurThread.java diff --git a/src/ihm/Main.java b/src/ihm/Main.java index 3751961..b3086b3 100644 --- a/src/ihm/Main.java +++ b/src/ihm/Main.java @@ -9,16 +9,16 @@ import javafx.fxml.FXMLLoader; import javafx.scene.Scene; import javafx.scene.layout.Pane; import javafx.stage.Stage; +import main.GestionnaireJeu; public class Main extends Application { @Override public void start(Stage primaryStage) throws Exception { - System.out.println("Lancement de l'application"); - final URL fxmlURL = getClass().getResource("ressources/parametre.fxml"); // "ressources/Jouer_tour(1)lancer_des.fxml" - final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE); - final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle); - Pane root = fxmlLoader.load(); + final URL fxmlURL = getClass().getResource("ressources/parametre.fxml"); // "ressources/Jouer_tour(1)lancer_des.fxml" + final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE); + final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle); + Pane root = fxmlLoader.load(); primaryStage.setTitle("Shadow Hunters"); primaryStage.setScene(new Scene(root)); @@ -28,6 +28,8 @@ public class Main extends Application { } public static void main(String[] args) { + GestionnaireJeu gj = GestionnaireJeu.getGestionnaireJeu(); launch(args); + } } \ No newline at end of file diff --git a/src/ihm/ZoneJoueurThread.java b/src/ihm/ZoneJoueurThread.java new file mode 100644 index 0000000..c196f6e --- /dev/null +++ b/src/ihm/ZoneJoueurThread.java @@ -0,0 +1,22 @@ +package ihm; + +import javafx.scene.layout.AnchorPane; +import javafx.scene.layout.Pane; + +public class ZoneJoueurThread extends Thread { + + private boolean finished; + + + + public ZoneJoueurThread(AnchorPane anchorPane, Pane pane) { + this.finished = false; + } + + public void run() { + while(!finished) { + + } + + } +} diff --git a/src/ihm/controller/ChoisirBoolean.java b/src/ihm/controller/ChoisirBoolean.java index 483c5c2..16e50c1 100644 --- a/src/ihm/controller/ChoisirBoolean.java +++ b/src/ihm/controller/ChoisirBoolean.java @@ -1,43 +1,42 @@ package ihm.controller; -import java.io.IOException; import java.net.URL; import java.util.ResourceBundle; -import ihm.PopUpBoolean; import javafx.fxml.FXML; import javafx.fxml.Initializable; -import javafx.scene.Node; import javafx.scene.control.Button; -import javafx.scene.input.MouseEvent; +import javafx.scene.control.Label; import javafx.scene.layout.Pane; -import javafx.stage.Stage; +import main.GestionnaireJeu; + +public class ChoisirBoolean implements Initializable { -public class ChoisirBoolean implements Initializable{ - @FXML private Pane rootPane; @FXML private Button ouiButton; @FXML private Button nonButton; - + + private boolean result; @Override public void initialize(URL arg0, ResourceBundle arg1) { - - } - - @FXML - public void choixOui(MouseEvent mouseEvent) throws IOException{ - PopUpBoolean.result = true; - final Node source = (Node) mouseEvent.getSource(); - final Stage stage = (Stage) source.getScene().getWindow(); - stage.close(); - } - - @FXML - public void choixNon(MouseEvent mouseEvent) throws IOException{ - PopUpBoolean.result = false; - final Node source = (Node) mouseEvent.getSource(); - final Stage stage = (Stage) source.getScene().getWindow(); - stage.close(); + ouiButton.setOnAction(x -> { + + this.result = true; + GestionnaireJeu.notifyPlateau(); + + }); + + nonButton.setOnAction(x -> { + + this.result = false; + GestionnaireJeu.notifyPlateau(); + }); + } + + public boolean getResult() { + return this.result; + } + } diff --git a/src/ihm/controller/JoueurIHM.java b/src/ihm/controller/JoueurIHM.java index 7eda29a..e58e49f 100644 --- a/src/ihm/controller/JoueurIHM.java +++ b/src/ihm/controller/JoueurIHM.java @@ -18,19 +18,19 @@ public class JoueurIHM { private int position; private Joueur joueur; - private Pane pane; + private Pane zoneJoueur; private GestionnaireDePions gestionnaireDePions; private Color color; - public JoueurIHM(int i, Joueur joueur, Pane pane, Color color, GridPane gridPaneVie) { + public JoueurIHM(int i, Joueur joueur, Pane zoneJoueur, Color color, GridPane gridPaneVie) { this.setPosition(i); this.setJoueur(joueur); - this.pane = pane; + this.zoneJoueur = zoneJoueur; this.color = color; this.gestionnaireDePions = new GestionnaireDePions(this.color,gridPaneVie); - pane.setBorder(new Border(new BorderStroke(color, BorderStrokeStyle.SOLID, CornerRadii.EMPTY, new BorderWidths(5)))); + zoneJoueur.setBorder(new Border(new BorderStroke(color, BorderStrokeStyle.SOLID, CornerRadii.EMPTY, new BorderWidths(5)))); String name = joueur.getNom(); setLabelJoueur(name); @@ -53,21 +53,32 @@ public class JoueurIHM { } public Button getRevealButton() { - Pane p = (Pane) pane.getChildren().get(1); + Pane p = (Pane) zoneJoueur.getChildren().get(1); return (Button) p.getChildren().get(1); } public ImageView getCartePersonnage() { - Pane p = (Pane) pane.getChildren().get(1); + Pane p = (Pane) zoneJoueur.getChildren().get(1); return (ImageView) p.getChildren().get(0); } public AnchorPane getZoneJoueur() { - return (AnchorPane) pane.getChildren().get(0); + return (AnchorPane) zoneJoueur.getChildren().get(0); } + public void setZoneJoueur(Pane p) { + AnchorPane ap = (AnchorPane) zoneJoueur.getChildren().get(0); + ap.getChildren().setAll(p); + AnchorPane.getBottomAnchor(p); + AnchorPane.getLeftAnchor(p); + AnchorPane.getRightAnchor(p); + AnchorPane.getTopAnchor(p); + } + + + public Label getLabelJoueur() { - Pane p = (Pane) pane.getChildren().get(2); + Pane p = (Pane) zoneJoueur.getChildren().get(2); return (Label) p.getChildren().get(0); } @@ -77,7 +88,7 @@ public class JoueurIHM { } public Label getPaneEquipement() { - Pane p = (Pane) pane.getChildren().get(2); + Pane p = (Pane) zoneJoueur.getChildren().get(2); return (Label) p.getChildren().get(1); } @@ -101,4 +112,9 @@ public class JoueurIHM { this.gestionnaireDePions.deplacerPionVie(damage); } + public void choisir() { + + + } + } diff --git a/src/ihm/controller/PlateauController.java b/src/ihm/controller/PlateauController.java index 73f4dfb..9984024 100644 --- a/src/ihm/controller/PlateauController.java +++ b/src/ihm/controller/PlateauController.java @@ -11,10 +11,10 @@ import java.util.ResourceBundle; import java.util.Set; import ihm.PopUp; -import ihm.PopUpBoolean; import javafx.fxml.FXML; import javafx.fxml.FXMLLoader; import javafx.fxml.Initializable; +import javafx.scene.Node; import javafx.scene.Parent; import javafx.scene.control.Label; import javafx.scene.layout.AnchorPane; @@ -209,15 +209,18 @@ public class PlateauController implements Initializable { popup.display(); } - public boolean choisir(Joueur j) throws IOException { + + + public JoueurIHM getJoueurIHM(Joueur j) { - FXMLLoader loader = new FXMLLoader(getClass().getResource("../ressources/choisirBoolean.fxml")); - Parent root = loader.load(); - - PopUpBoolean popup = new PopUpBoolean(root, "Consulter sa carte"); - return popup.display(); + for(JoueurIHM joueurIHM : joueursIHM) { + if(joueurIHM.getJoueur().equals(j)) return joueurIHM; + } + + return null; } + /** * Permet de consulter sa carte perssonage en cas d'oublie * @@ -260,4 +263,19 @@ public class PlateauController implements Initializable { } + public void afficherChoisir(Joueur j) throws IOException { + final URL fxmlURL = getClass().getResource("../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(); + JoueurIHM jihm = getJoueurIHM(j); + jihm.setZoneJoueur(root); + + } + + public boolean getChoix(Joueur joueur) { + JoueurIHM jihm = getJoueurIHM(joueur); + jihm.getZoneJoueur().getChildren().setAll(); + return true; + } } \ No newline at end of file diff --git a/src/ihm/controller/PlayersController.java b/src/ihm/controller/PlayersController.java index 0caf812..73f02ba 100644 --- a/src/ihm/controller/PlayersController.java +++ b/src/ihm/controller/PlayersController.java @@ -138,7 +138,7 @@ public class PlayersController implements Initializable{ Stage appStage = (Stage) ((Node) mouseEvent.getSource()).getScene().getWindow(); appStage.setScene(scene); appStage.show(); - //GestionnaireJeu.lancerPartie(); + gj.lancerPartie(); } } diff --git a/src/ihm/ressources/choisirBoolean.fxml b/src/ihm/ressources/choisirBoolean.fxml index fa0213f..5657b20 100644 --- a/src/ihm/ressources/choisirBoolean.fxml +++ b/src/ihm/ressources/choisirBoolean.fxml @@ -5,20 +5,19 @@ - - + -