diff --git a/src/carte/CarteEquipement.java b/src/carte/CarteEquipement.java index 0f6fe42..907086e 100644 --- a/src/carte/CarteEquipement.java +++ b/src/carte/CarteEquipement.java @@ -17,6 +17,7 @@ public abstract class CarteEquipement extends CartePiochable{ super(t, effet); } + @Override public void utiliser(Joueur j) { if(!j.getEquipements().contains(this)) { j.ajouterEquipement(this); diff --git a/src/carte/CartePiochable.java b/src/carte/CartePiochable.java index dbb3ce7..3251a26 100644 --- a/src/carte/CartePiochable.java +++ b/src/carte/CartePiochable.java @@ -4,6 +4,7 @@ import java.io.Serializable; import condition.Condition; import effet.Effet; +import main.GestionnaireJeu; import main.Joueur; public class CartePiochable extends CarteCondition implements Serializable{ @@ -41,6 +42,8 @@ public class CartePiochable extends CarteCondition implements Serializable{ * @param j Appel la méthode utiliser de effet sur le joueur j */ public void utiliser(Joueur j) { + GestionnaireJeu gj = GestionnaireJeu.getGestionnaireJeu(); + gj.piocher(j,this); System.out.println("CartePiochable "+this + " Condition : "+this.getCondition()+" Effet : "+this.getEffet()+" Action : "+this.getEffet().getAction()); super.utiliser(j); } diff --git a/src/ihm/PopUp.java b/src/ihm/PopUp.java index 7bcc2f6..028ef9d 100644 --- a/src/ihm/PopUp.java +++ b/src/ihm/PopUp.java @@ -62,6 +62,15 @@ public class PopUp{ }); } + + public Stage getStage() { + return popup; + } + + public Scene getScene() { + return scene; + } + public void display() { diff --git a/src/ihm/controller/ChoisirJoueur.java b/src/ihm/controller/ChoisirJoueur.java index d0243e7..e912457 100644 --- a/src/ihm/controller/ChoisirJoueur.java +++ b/src/ihm/controller/ChoisirJoueur.java @@ -42,7 +42,6 @@ public class ChoisirJoueur implements Initializable{ this.buttons.add(btn6); this.buttons.add(btn7); this.buttons.add(btn8); - } public void initButtons() { diff --git a/src/ihm/controller/Dialog.java b/src/ihm/controller/Dialog.java new file mode 100644 index 0000000..abe324b --- /dev/null +++ b/src/ihm/controller/Dialog.java @@ -0,0 +1,28 @@ +package ihm.controller; + +import java.net.URL; +import java.util.ResourceBundle; + +import javafx.fxml.FXML; +import javafx.fxml.Initializable; +import javafx.scene.control.Button; +import javafx.scene.control.Label; +import main.GestionnaireJeu; + +public class Dialog implements Initializable { + @FXML private Button button; + @FXML private Label label; + + @Override + public void initialize(URL arg0, ResourceBundle arg1) { + + button.setOnAction(x -> { + GestionnaireJeu.notifyPlateau(); + }); + + } + + public void setText(String text) { + this.label.setText(text); + } +} diff --git a/src/ihm/controller/MenuController.java b/src/ihm/controller/MenuController.java index 2638250..9a84dec 100644 --- a/src/ihm/controller/MenuController.java +++ b/src/ihm/controller/MenuController.java @@ -46,10 +46,13 @@ public class MenuController implements Initializable{ AnchorPane pane = fxmlLoader.load(); Scene scene = new Scene(pane); Stage appStage = (Stage) ((Node) mouseEvent.getSource()).getScene().getWindow(); - appStage.setScene(scene); - appStage.show(); - + double width = appStage.getWidth(); + double height = appStage.getHeight(); + double X = appStage.getX(); + double Y = appStage.getY(); + + appStage.setScene(scene); } @FXML @@ -70,7 +73,7 @@ public class MenuController implements Initializable{ @FXML public void quitterLappli(MouseEvent mouseEvent) throws IOException{ System.exit(0); - } + } @FXML diff --git a/src/ihm/controller/PiocherCarte.java b/src/ihm/controller/PiocherCarte.java index e67c1ff..19a545c 100644 --- a/src/ihm/controller/PiocherCarte.java +++ b/src/ihm/controller/PiocherCarte.java @@ -7,21 +7,16 @@ import javafx.fxml.FXML; import javafx.fxml.Initializable; import javafx.scene.control.Button; -import main.Type; -import main.TypeLumiere; -import main.TypeTenebre; -import main.TypeVision; - public class PiocherCarte implements Initializable{ @FXML private Button lumiere; @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 ->{ + /*lumiere.setOnAction(e ->{ carte = new TypeLumiere(); }); @@ -31,10 +26,10 @@ public class PiocherCarte implements Initializable{ tenebre.setOnAction(e -> { carte = new TypeTenebre(); - }); + });*/ } - +/* public Type getCarte() { return carte; - } + }*/ } diff --git a/src/ihm/controller/PlateauController.java b/src/ihm/controller/PlateauController.java index 7ab939c..02a5550 100644 --- a/src/ihm/controller/PlateauController.java +++ b/src/ihm/controller/PlateauController.java @@ -15,6 +15,8 @@ import java.util.Set; import carte.Carte; import carte.CarteEquipement; import carte.CarteLieu; +import carte.CartePiochable; +import carte.CartePiochable.Type; import database.RessourceLoader; import ihm.EffetSonore; import ihm.PopUp; @@ -25,6 +27,7 @@ import javafx.fxml.FXMLLoader; import javafx.fxml.Initializable; import javafx.scene.Group; import javafx.scene.Parent; +import javafx.scene.control.Button; import javafx.scene.control.Label; import javafx.scene.image.Image; import javafx.scene.image.ImageView; @@ -36,6 +39,7 @@ import javafx.scene.layout.Pane; import javafx.scene.layout.StackPane; import javafx.scene.layout.VBox; import javafx.scene.paint.Color; +import javafx.scene.transform.Rotate; import javafx.util.Duration; import main.Contexte; import main.GestionnaireJeu; @@ -58,6 +62,8 @@ public class PlateauController implements Initializable { private Map mapRessourcesCartes; + private Map mapRessourcesDosCartes; + public static int DICE_SIX = 2; public static int DICE_QUATRE = 1; public static int DICE_BOTH = 0; @@ -94,6 +100,7 @@ public class PlateauController implements Initializable { mapRessourcesCartes = rl.getRessourceCartes(); + setMapRessourcesDosCartes(rl.getRessourceDosCartes()); List cl = gj.getCartesLieux(); List ivs = this.getLieux(); @@ -202,8 +209,6 @@ public class PlateauController implements Initializable { } } - - private void applyImageLieu(ImageView iv, Image im) { StackPane sp = (StackPane) iv.getParent(); @@ -427,7 +432,6 @@ public class PlateauController implements Initializable { public void updateVieJoueur(Joueur joueur, int damage) { JoueurIHM jIHM = getJoueurIHM(joueur); jIHM.deplacerPionVie(damage); - } @FXML @@ -468,7 +472,6 @@ public class PlateauController implements Initializable { 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); @@ -487,6 +490,50 @@ public class PlateauController implements Initializable { public void afficherLancerDes(Joueur j, Contexte c) throws IOException { this.ld=new LancerDes(c); JoueurIHM jihm = getJoueurIHM(j); - jihm.setZoneJoueur(ld.initLancer()); + jihm.setZoneJoueur(ld.initLancer()); + } + + + 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) { + GestionnaireJeu.notifyPlateau(); + pu.getStage().hide(); + } + + }); + + 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(); + Image im = getImageCarte(cartePiochable); + lzj.setImageView(im); + lzj.setText("Cachez la carte vision"); + JoueurIHM jihm = getJoueurIHM(j); + jihm.setZoneJoueur(root); + + } + + + public Map getMapRessourcesDosCartes() { + return mapRessourcesDosCartes; + } + + + public void setMapRessourcesDosCartes(Map mapRessourcesDosCartes) { + this.mapRessourcesDosCartes = mapRessourcesDosCartes; } } \ No newline at end of file diff --git a/src/ihm/controller/RecevoirCarte.java b/src/ihm/controller/RecevoirCarte.java new file mode 100644 index 0000000..2fe32a6 --- /dev/null +++ b/src/ihm/controller/RecevoirCarte.java @@ -0,0 +1,36 @@ +package ihm.controller; + + +import java.net.URL; +import java.util.ResourceBundle; + +import javafx.fxml.FXML; +import javafx.fxml.Initializable; +import javafx.scene.control.Button; +import javafx.scene.control.Label; +import javafx.scene.image.Image; +import javafx.scene.image.ImageView; +import main.GestionnaireJeu; + +public class RecevoirCarte implements Initializable { + @FXML private Button okButton; + @FXML private Label label; + @FXML private ImageView imageView; + + @Override + public void initialize(URL arg0, ResourceBundle arg1) { + + okButton.setOnAction(x -> { + GestionnaireJeu.notifyPlateau(); + }); + + } + + public void setText(String name) { + this.label.setText(name); + } + + public void setImageView(Image imageCarte) { + this.imageView.setImage(imageCarte); + } +} diff --git a/src/ihm/ressources/Choix_joueur.fxml b/src/ihm/ressources/Choix_joueur.fxml index 0a48196..126e49a 100644 --- a/src/ihm/ressources/Choix_joueur.fxml +++ b/src/ihm/ressources/Choix_joueur.fxml @@ -13,7 +13,7 @@ - + @@ -164,7 +164,7 @@ -