diff --git a/src/carte/CarteVision.java b/src/carte/CarteVision.java index 02882b0..44126c4 100644 --- a/src/carte/CarteVision.java +++ b/src/carte/CarteVision.java @@ -5,6 +5,7 @@ import java.io.Serializable; import condition.Condition; import effet.EffetChoisirCible; import effet.action.Action; +import main.Contexte; import main.GestionnaireJeu; import main.Joueur; @@ -31,10 +32,13 @@ public class CarteVision extends CartePiochable implements Serializable{ gj.piocher(j1,this); Joueur j2 = j1.choisiParmisTous(); + boolean M = j2.isMetamorph(); + boolean Co = this.getCondition().isTrue(j2); + gj.recevoirCarteVision(j2,this); + boolean C = j2.choisir(Contexte.CHOISIR_VISION); - if(this.getCondition().isTrue(j2)) { + if((!(M) && Co) || (M && C)) { this.getEffet().getAction().affecte(j1, j2); } - } } diff --git a/src/ihm/controller/ChoisirEquipement.java b/src/ihm/controller/ChoisirEquipement.java index f07c7d0..2a74524 100644 --- a/src/ihm/controller/ChoisirEquipement.java +++ b/src/ihm/controller/ChoisirEquipement.java @@ -8,7 +8,6 @@ import java.util.ResourceBundle; import carte.CarteEquipement; import javafx.fxml.FXML; import javafx.fxml.Initializable; -import javafx.scene.control.ScrollPane; import javafx.scene.image.ImageView; import javafx.scene.layout.GridPane; import javafx.scene.layout.HBox; diff --git a/src/ihm/controller/PlateauController.java b/src/ihm/controller/PlateauController.java index 0fabc94..64c97d0 100644 --- a/src/ihm/controller/PlateauController.java +++ b/src/ihm/controller/PlateauController.java @@ -407,13 +407,28 @@ public class PlateauController implements Initializable { final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE); final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle); Pane root = (Pane)fxmlLoader.load(); + + List joueursIHM = toJoueursIHM(joueurs); + this.cj = fxmlLoader.getController(); - this.cj.setListJoueursIHM(this.joueursIHM); + this.cj.setListJoueursIHM(joueursIHM); this.cj.initButtons(); JoueurIHM jihm = getJoueurIHM(j); jihm.setZoneJoueur(root); } - public void afficherPiocher(Joueur j) throws IOException { + private List toJoueursIHM(List joueurs) { + + List list = new ArrayList(); + + for(Joueur j : joueurs) { + list.add(getJoueurIHM(j)); + } + + return list; + } + + + 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); diff --git a/src/main/Contexte.java b/src/main/Contexte.java index 9fe0354..6c8ac8c 100644 --- a/src/main/Contexte.java +++ b/src/main/Contexte.java @@ -9,6 +9,6 @@ public enum Contexte { ACTIVER_EFFET_LIEU, EFFET_BOB, LANCER_DES_4, - LANCER_DES_6 + LANCER_DES_6, CHOISIR_VISION } diff --git a/src/main/GestionnaireJeu.java b/src/main/GestionnaireJeu.java index d614d0d..47da7db 100644 --- a/src/main/GestionnaireJeu.java +++ b/src/main/GestionnaireJeu.java @@ -13,6 +13,7 @@ import carte.CarteEquipement; import carte.CarteLieu; import carte.CartePiochable; import carte.CartePiochable.Type; +import carte.CarteVision; import database.RessourceLoader; import effet.Effet; import ihm.controller.PlateauController; @@ -328,5 +329,20 @@ public class GestionnaireJeu { waitPlateau(); } + public void recevoirCarteVision(Joueur j2, CarteVision carteVision) { + + Platform.runLater(() -> { + try { + pc.afficherVision(j2, carteVision); + } catch (IOException e) { + e.printStackTrace(); + } + }); + waitPlateau(); + + + + } + } diff --git a/src/main/Joueur.java b/src/main/Joueur.java index 2df12af..7efafdc 100644 --- a/src/main/Joueur.java +++ b/src/main/Joueur.java @@ -8,6 +8,7 @@ import carte.CarteEquipement; import carte.CarteLieu; import effet.Effet; import personnage.CartePersonnage; +import personnage.Metamorphe; import personnage.CartePersonnage.Equipe; @@ -267,4 +268,8 @@ public class Joueur { this.cartePersonnage.utiliser(); } } + + public boolean isMetamorph() { + return this.cartePersonnage instanceof Metamorphe; + } } diff --git a/src/main/Plateau.java b/src/main/Plateau.java index 6865770..55d7b0e 100644 --- a/src/main/Plateau.java +++ b/src/main/Plateau.java @@ -385,7 +385,7 @@ public class Plateau extends Thread{ int roll6 = rollRandom(6); int sum = Math.abs(roll4+roll6); gj.rollDice(j, PlateauController.DICE_BOTH, roll4,roll6); - return 8; + return 3; //return Math.abs(roll4+roll6); }