From 5cc7a5a0537704392111697bd4e529f62109d5f9 Mon Sep 17 00:00:00 2001 From: Paul Gross Date: Thu, 23 Apr 2020 10:28:10 +0200 Subject: [PATCH] Configuration etc --- src/ihm/controller/MenuController.java | 2 +- src/ihm/controller/PlayersController.java | 11 ++++++++--- src/main/Configuration.java | 5 +++++ src/main/GestionnaireJeu.java | 21 +++++++++++++-------- src/main/Plateau.java | 18 +++++++++++------- src/main/View.java | 21 +++------------------ 6 files changed, 41 insertions(+), 37 deletions(-) diff --git a/src/ihm/controller/MenuController.java b/src/ihm/controller/MenuController.java index cb7e831..5719522 100644 --- a/src/ihm/controller/MenuController.java +++ b/src/ihm/controller/MenuController.java @@ -37,7 +37,7 @@ public class MenuController implements Initializable{ System.out.println("Passage à l'écran de choix des joueurs"); AnchorPane pane = FXMLLoader.load(getClass().getResource("../ressources/Choix_joueur.fxml")); rootPane.getChildren().setAll(pane); - View.lancerPartie(); + } public void afficherRegle(MouseEvent mouseEvent) { diff --git a/src/ihm/controller/PlayersController.java b/src/ihm/controller/PlayersController.java index fea93d0..c66e3ef 100644 --- a/src/ihm/controller/PlayersController.java +++ b/src/ihm/controller/PlayersController.java @@ -18,6 +18,7 @@ import javafx.scene.control.TextField; import javafx.scene.input.MouseEvent; import javafx.scene.layout.BorderPane; import javafx.scene.layout.HBox; +import main.Configuration; import main.Joueur; import main.JoueurVirtuel; import main.View; @@ -97,7 +98,6 @@ public class PlayersController implements Initializable{ joueurs.add(null); nbJoueurs++; } - } if (nbJoueurs < 4) { @@ -105,8 +105,13 @@ public class PlayersController implements Initializable{ alert.showAndWait(); }else { System.out.println("Lancement du jeu..."); - View.initPartie(joueurs); - FXMLLoader loader = new FXMLLoader(getClass().getResource("../ressources/Plateau.fxml")); + + + // Creer une configuration + View.applyConfiguration(new Configuration(new ArrayList(),1,1)); + + + FXMLLoader loader = new FXMLLoader(getClass().getResource("../ressources/Plateau.fxml")); Parent root = loader.load(); PlateauController pc = loader.getController(); diff --git a/src/main/Configuration.java b/src/main/Configuration.java index 2ce14fc..ed47ac4 100644 --- a/src/main/Configuration.java +++ b/src/main/Configuration.java @@ -22,5 +22,10 @@ public class Configuration { public int getNombreJoueursHumains() { return nombreJoueursHumains; } + + public List toJoueurs() { + // TODO Auto-generated method stub + return null; + } } diff --git a/src/main/GestionnaireJeu.java b/src/main/GestionnaireJeu.java index dd7c000..f328f21 100644 --- a/src/main/GestionnaireJeu.java +++ b/src/main/GestionnaireJeu.java @@ -1,6 +1,5 @@ package main; -import java.util.ArrayList; import java.util.List; import com.sun.tools.javac.Main; @@ -10,20 +9,23 @@ import effet.Effet; public class GestionnaireJeu { + private static GestionnaireJeu gj; private Plateau plateau; + private GestionnaireJeu() {} - public GestionnaireJeu() { - this.plateau = new Plateau(new ArrayList()); - - } + public static synchronized GestionnaireJeu getGestionnaireJeu(){ + if(gj == null){ + gj = new GestionnaireJeu(); + } + return gj; + } public static void main(String[] args) { try { Main.main(null); } catch (Exception e) { - // TODO Auto-generated catch block e.printStackTrace(); } @@ -72,7 +74,10 @@ public class GestionnaireJeu { // TODO Auto-generated method stub return false; } - - + public void setConfiguration(Configuration c) { + + List joueurs = c.toJoueurs(); + this.plateau = new Plateau(joueurs); + } } diff --git a/src/main/Plateau.java b/src/main/Plateau.java index 9f1ef88..5fe9d08 100644 --- a/src/main/Plateau.java +++ b/src/main/Plateau.java @@ -8,6 +8,7 @@ import java.util.Map; import carte.CarteLieu; import effet.Effet; +import personnage.CartePersonnage; public class Plateau { @@ -30,23 +31,26 @@ public class Plateau { public Plateau(List joueurs) { - joueurs.forEach(x -> x.setPlateau(this)); - this.joueurs = joueurs; this.lieux = new ArrayList<>(); - this.stats = new HashMap<>(); - // Initialisation plateau - this.stats.put(NB_HUNTERS, 0); - this.stats.put(NB_SHADOWS, 0); - this.stats.put(NB_NEUTRES, 0); + joueurs.forEach(x -> x.setPlateau(this)); + + this.stats.put(NB_MORTS, 0); this.stats.put(NB_MORTS_NEUTRAL, 0); this.stats.put(NB_MORTS_HUNTER, 0); this.stats.put(NB_MORTS_SHADOW, 0); this.stats.put(PARTIE_FINIE, 0); + initCartePersonnage(); + + // Initialisation plateau + this.stats.put(NB_HUNTERS, 0); + this.stats.put(NB_SHADOWS, 0); + this.stats.put(NB_NEUTRES, 0); + diff --git a/src/main/View.java b/src/main/View.java index fcf2e6c..50c9656 100644 --- a/src/main/View.java +++ b/src/main/View.java @@ -4,23 +4,6 @@ import java.util.List; public class View{ - private static View view; - - private View() {} - - - static { - try { - view = new View(); - }catch(Exception e) { - throw new RuntimeException("View Singleton"); - } - } - - public static View getView() { - return view; - } - public static void initPartie(List joueurs) { @@ -34,8 +17,10 @@ public class View{ } - public void applyConfiguration(GestionnaireJeu gj,Configuration c) { + public static void applyConfiguration(Configuration c) { + GestionnaireJeu gj = GestionnaireJeu.getGestionnaireJeu(); + gj.setConfiguration(c); } public List getJoueurs() {