diff --git a/src/ihm/controller/PiocherCarte.java b/src/ihm/controller/PiocherCarte.java index 19a545c..42bb055 100644 --- a/src/ihm/controller/PiocherCarte.java +++ b/src/ihm/controller/PiocherCarte.java @@ -1,8 +1,11 @@ package ihm.controller; import java.net.URL; + import java.util.ResourceBundle; +import carte.CartePiochable; +import carte.CartePiochable.Type; import javafx.fxml.FXML; import javafx.fxml.Initializable; import javafx.scene.control.Button; @@ -12,24 +15,24 @@ public class PiocherCarte implements Initializable{ @FXML private Button vision; @FXML private Button tenebre; - //private Type carte; + private Type carte; @Override public void initialize(URL arg0, ResourceBundle arg1) { - /*lumiere.setOnAction(e ->{ - carte = new TypeLumiere(); + lumiere.setOnAction(e ->{ + carte = CartePiochable.Type.LUMIERE; }); vision.setOnAction(e -> { - carte = new TypeVision(); + carte = CartePiochable.Type.VISION; }); tenebre.setOnAction(e -> { - carte = new TypeTenebre(); - });*/ + carte = CartePiochable.Type.TENEBRE; + }); } -/* + public Type getCarte() { return carte; - }*/ + } } diff --git a/src/ihm/controller/PlateauController.java b/src/ihm/controller/PlateauController.java index 02a5550..250139b 100644 --- a/src/ihm/controller/PlateauController.java +++ b/src/ihm/controller/PlateauController.java @@ -57,6 +57,7 @@ public class PlateauController implements Initializable { private ChoisirBoolean cb; private ChoisirEquipement ce; private ChoisirJoueur cj; + private PiocherCarte pc; private LancerDes ld; @@ -399,6 +400,17 @@ public class PlateauController implements Initializable { JoueurIHM jihm = getJoueurIHM(j); jihm.setZoneJoueur(root); } + 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())); + JoueurIHM jihm = getJoueurIHM(j); + jihm.setZoneJoueur(root); + } public CarteEquipement getChoixEquipementVole(Joueur joueur) { JoueurIHM jihm = getJoueurIHM(joueur); @@ -422,6 +434,13 @@ public class PlateauController implements Initializable { jihm.getZoneJoueur().getChildren().setAll(); return result.getJoueur(); } + 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); diff --git a/src/main/GestionnaireJeu.java b/src/main/GestionnaireJeu.java index 2ca066b..eb4b70c 100644 --- a/src/main/GestionnaireJeu.java +++ b/src/main/GestionnaireJeu.java @@ -241,6 +241,36 @@ public class GestionnaireJeu { } } + public Type choisirCarte(Joueur joueur) { + + Platform.runLater(() -> { + try { + pc.afficherPiocher(joueur); + } catch (IOException e) { + e.printStackTrace(); + } + }); + + this.waitPlateau(); + + final FutureTask query = new FutureTask(new Callable() { + @Override + public Type call() throws Exception { + return pc.getChoixCarte(joueur); + } + }); + + Platform.runLater(query); + + try { + return query.get(); + } catch (InterruptedException | ExecutionException e) { + + e.printStackTrace(); + } + + return null; + } public void rollDice(Joueur joueur, int typeDice, int ... rolls){ pc.rollDice(joueur,typeDice,rolls);