From f7df74eb46db31051106cde607f3494f26040939 Mon Sep 17 00:00:00 2001 From: Paul Gross Date: Wed, 13 May 2020 15:13:50 +0200 Subject: [PATCH 01/13] =?UTF-8?q?Ajout=20des=20cartes=20=C3=A9quipement?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/carte/CarteLieuMultiple.java | 3 +- src/carte/CarteLieuType.java | 2 +- src/carte/CartePiochable.java | 3 +- src/database/CreatingCardsTest.java | 27 +++++++++----- src/database/DatabaseManager.java | 25 +++++++------ src/database/RessourceLoader.java | 6 ++-- src/effet/action/ActionVoler.java | 27 +++++++------- src/ihm/ImageViewEquipement.java | 4 +++ src/ihm/controller/ChoisirEquipement.java | 36 ++++++++++++------- src/ihm/controller/JoueurIHM.java | 28 ++++++++++----- src/ihm/controller/PlateauController.java | 19 +++++----- .../Jouer_tour(2a)voler_equipement.fxml | 23 ++++++------ src/main/GestionnaireEquipements.java | 3 -- src/main/GestionnaireJeu.java | 7 ++-- src/main/Joueur.java | 6 ++-- src/main/Pioche.java | 7 ++-- src/main/Plateau.java | 2 +- 17 files changed, 134 insertions(+), 94 deletions(-) diff --git a/src/carte/CarteLieuMultiple.java b/src/carte/CarteLieuMultiple.java index 3a7c6be..1082c11 100644 --- a/src/carte/CarteLieuMultiple.java +++ b/src/carte/CarteLieuMultiple.java @@ -3,7 +3,6 @@ package carte; import java.awt.Point; import java.util.List; -import carte.CartePiochable.Type; import main.Joueur; import main.Pioche; @@ -27,7 +26,7 @@ public class CarteLieuMultiple extends CarteLieu{ Pioche p = (Pioche) j.choisir(pioches, Pioche.class); System.out.println(pioches+ " "+p); System.out.println(p.getStack()); - Carte c = p.piocher(); + Carte c = p.piocher(j); c.utiliser(j); } diff --git a/src/carte/CarteLieuType.java b/src/carte/CarteLieuType.java index e0af7e0..85e44f1 100644 --- a/src/carte/CarteLieuType.java +++ b/src/carte/CarteLieuType.java @@ -32,7 +32,7 @@ public class CarteLieuType extends CarteLieu{ */ public void utiliser(Joueur j) { System.out.println(pioche); - CartePiochable carte = pioche.piocher(); + CartePiochable carte = pioche.piocher(j); carte.utiliser(j); } diff --git a/src/carte/CartePiochable.java b/src/carte/CartePiochable.java index 15b58c4..7fb6811 100644 --- a/src/carte/CartePiochable.java +++ b/src/carte/CartePiochable.java @@ -41,10 +41,9 @@ public class CartePiochable extends CarteCondition implements Serializable{ /* * @param j Appel la méthode utiliser de effet sur le joueur j */ - + @Override 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/database/CreatingCardsTest.java b/src/database/CreatingCardsTest.java index c680487..650fb7f 100644 --- a/src/database/CreatingCardsTest.java +++ b/src/database/CreatingCardsTest.java @@ -48,6 +48,11 @@ public class CreatingCardsTest { //Ange gardien try { + for(int i = 0; i < 67; i++) { + DatabaseManager.queryInsertObject(i, null); + } + + DatabaseManager.queryInsertObject(2,new CartePiochable(CartePiochable.Type.LUMIERE, new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_IMMUNITY, 1, true)))); @@ -115,28 +120,33 @@ public class CreatingCardsTest { // Ténèbre // Araignée Sanguinaire - - DatabaseManager.queryInsertObject(17, new CartePiochable(CartePiochable.Type.TENEBRE,new EffetMultiple(new EffetCiblerTous(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)), + /* + DatabaseManager.queryInsertObject(17, new CartePiochable(CartePiochable.Type.TENEBRE,new EffetMultiple(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)), new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true))))); // Chauve - souris vampire - DatabaseManager.queryInsertObject(18, new CartePiochable(CartePiochable.Type.TENEBRE,new EffetMultiple(new EffetCiblerTous(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)), + DatabaseManager.queryInsertObject(18, new CartePiochable(CartePiochable.Type.TENEBRE,new EffetMultiple(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)), new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 1, true))))); - DatabaseManager.queryInsertObject(19, new CartePiochable(CartePiochable.Type.TENEBRE,new EffetMultiple(new EffetCiblerTous(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)), + DatabaseManager.queryInsertObject(19, new CartePiochable(CartePiochable.Type.TENEBRE,new EffetMultiple(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)), new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 1, true))))); - DatabaseManager.queryInsertObject(20, new CartePiochable(CartePiochable.Type.TENEBRE,new EffetMultiple(new EffetCiblerTous(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)), + DatabaseManager.queryInsertObject(20, new CartePiochable(CartePiochable.Type.TENEBRE,new EffetMultiple(new EffetChoisirCible(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -2, true)), new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, 1, true))))); - + */ // Dynamite // 21 // Hache tueuse + for(int i = 0; i <= 2; i++) { + DatabaseManager.queryInsertObject(22+i,new CarteEquipementStat(CartePiochable.Type.TENEBRE, + new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 1, true)))); + } + /* DatabaseManager.queryInsertObject(22,new CarteEquipementStat(CartePiochable.Type.TENEBRE, new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 1, true)))); @@ -161,17 +171,18 @@ public class CreatingCardsTest { )); // 29 - + */ DatabaseManager.queryInsertObject(30,new CartePiochable(CartePiochable.Type.TENEBRE, new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER)))); DatabaseManager.queryInsertObject(31,new CartePiochable(CartePiochable.Type.TENEBRE, new EffetChoisirCible(new ActionVoler(ActionVoler.VOLER)))); + /* DatabaseManager.queryInsertObject(32,new CarteEquipementStat(CartePiochable.Type.TENEBRE, new EffetSelf(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_DAMAGE, 1, true)))); - + */ // Vision clairvoyante DatabaseManager.queryInsertObject(33, new CarteVision(new ActionAltererStatistiquesJoueur(Joueur.PLAYER_HP, -1, true), new ConditionStatistiques(ConditionStatistiques.JOUEUR, Joueur.PLAYER_HP, 11, ConditionStatistiques.LESS))); diff --git a/src/database/DatabaseManager.java b/src/database/DatabaseManager.java index a4480e8..cce9054 100644 --- a/src/database/DatabaseManager.java +++ b/src/database/DatabaseManager.java @@ -19,15 +19,20 @@ public class DatabaseManager { private final static String url = "jdbc:postgresql://localhost:5432/ShadowHunterDatabase"; private final static String user = "shManager"; private final static String password = "shadowhunter1234"; - - public static Connection connect() throws SQLException { - return DriverManager.getConnection(url, user, password); - } + private static Connection connection; + + public static void connect() throws SQLException { + if(connection == null || connection.isClosed()) { + connection = DriverManager.getConnection(url, user, password); + } + } public static List remplirTable(String query) { List list = new ArrayList(); - try (Connection connection = connect()) { - + + + try{ + connect(); //System.out.println("Connected to PostgreSQL database!"); Statement statement = connection.createStatement(); //System.out.println("Reading records..."); @@ -44,8 +49,8 @@ public class DatabaseManager { public static List remplirTableSansImage(String query) { List list = new ArrayList(); - try (Connection connection = connect()) { - + try { + connect(); //System.out.println("Connected to PostgreSQL database!"); Statement statement = connection.createStatement(); //System.out.println("Reading records..."); @@ -93,8 +98,8 @@ public class DatabaseManager { query = "UPDATE " + table + " SET objet = ? " + " WHERE id = ? " ; - Connection conn = connect(); - PreparedStatement pst = conn.prepareStatement(query); + connect(); + PreparedStatement pst = connection.prepareStatement(query); pst.setBinaryStream(1, objectIS); pst.setInt(2, id); pst.executeUpdate(); diff --git a/src/database/RessourceLoader.java b/src/database/RessourceLoader.java index b7eb816..a8b9d6c 100644 --- a/src/database/RessourceLoader.java +++ b/src/database/RessourceLoader.java @@ -58,8 +58,10 @@ public class RessourceLoader { Record r = t.getList().get(i); byte[] obj = r.getObjet(); - if(obj != null) { - Object o = deserialize(obj); + Object o = deserialize(obj); + if(o != null && o != null) { + + Carte c = (Carte)o; c.setNom(r.getNom()); cartes.put(i+1, c); diff --git a/src/effet/action/ActionVoler.java b/src/effet/action/ActionVoler.java index b8e2e86..c2280ec 100644 --- a/src/effet/action/ActionVoler.java +++ b/src/effet/action/ActionVoler.java @@ -32,20 +32,23 @@ public class ActionVoler extends Action{ @Override public void affecte(Joueur j1, Joueur j2) { - if(this.choix) { - - List equipements = j2.getEquipements(); + List equipements = j2.getEquipements(); + + if(!equipements.isEmpty()) { + + CarteEquipement equipement = null; + + if(this.choix) { + // J1 choisit quel équipement voler + equipement = (CarteEquipement) j1.choisir(equipements, CarteEquipement.class); + }else { + + // J1 choisit quel équipement voler + equipement = (CarteEquipement) j2.choisir(equipements,CarteEquipement.class); + } - // J1 choisit quel équipement voler - CarteEquipement equipement = (CarteEquipement) j1.choisir(equipements, CarteEquipement.class); j1.voler(j2,equipement); - }else { - - List equipements = j2.getEquipements(); - // J1 choisit quel équipement voler - CarteEquipement equipement = (CarteEquipement) j2.choisir(equipements,CarteEquipement.class); - j1.voler(j2,equipement); - } + } } diff --git a/src/ihm/ImageViewEquipement.java b/src/ihm/ImageViewEquipement.java index d518eb5..8b826a2 100644 --- a/src/ihm/ImageViewEquipement.java +++ b/src/ihm/ImageViewEquipement.java @@ -1,6 +1,8 @@ package ihm; import carte.CarteEquipement; +import ihm.controller.PlateauController; +import javafx.scene.image.Image; import javafx.scene.image.ImageView; public class ImageViewEquipement extends ImageView{ @@ -9,6 +11,8 @@ public class ImageViewEquipement extends ImageView{ public ImageViewEquipement(CarteEquipement ce) { this.ce = ce; + Image im = PlateauController.getImageCarte(ce); + this.setImage(im); } public CarteEquipement getCp() { diff --git a/src/ihm/controller/ChoisirEquipement.java b/src/ihm/controller/ChoisirEquipement.java index 7de8bbc..f07c7d0 100644 --- a/src/ihm/controller/ChoisirEquipement.java +++ b/src/ihm/controller/ChoisirEquipement.java @@ -8,29 +8,21 @@ 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; +import main.GestionnaireJeu; public class ChoisirEquipement implements Initializable{ @FXML private GridPane grilleEquipement; + @FXML private HBox hbox; private List equipements = new ArrayList(); private CarteEquipement equipementSelected; @Override public void initialize(URL arg0, ResourceBundle arg1) { - for (int i=0; i { - equipementSelected = equipements.get(numEquipement); - }); - } } public List getEquipements() { @@ -61,4 +53,24 @@ public class ChoisirEquipement implements Initializable{ return equipementSelected; } + public void setListCarteEquipements(List lce) { + this.equipements = lce; + } + + public void initChoisirEquipement() { + for (CarteEquipement ce : equipements) { + + ImageView iv = new ImageView(PlateauController.getImageCarte(ce)); + + hbox.getChildren().add(iv); + + iv.fitHeightProperty().bind(hbox.heightProperty()); + //iv.fitWidthProperty().bind(scrollpane.widthProperty()); + iv.setPreserveRatio(true); + iv.setOnMouseClicked(e -> { + equipementSelected = ce; + GestionnaireJeu.notifyPlateau(); + }); + } + } } diff --git a/src/ihm/controller/JoueurIHM.java b/src/ihm/controller/JoueurIHM.java index bfdd42c..aa0f4ab 100644 --- a/src/ihm/controller/JoueurIHM.java +++ b/src/ihm/controller/JoueurIHM.java @@ -1,5 +1,9 @@ package ihm.controller; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + import carte.CarteEquipement; import database.RessourceLoader; import ihm.ImageViewEquipement; @@ -226,22 +230,28 @@ public class JoueurIHM { public void ajouterEquipement(CarteEquipement e) { HBox hb = getPaneEquipement(); ImageViewEquipement ive = new ImageViewEquipement(e); - hb.getChildren().add(new ImageViewEquipement(e)); + hb.getChildren().add(ive); + ive.setPreserveRatio(true); ive.fitHeightProperty().bind(hb.heightProperty()); - + //ive.fitWidthProperty().bind(hb.widthProperty()); } public void retirerEquipement(CarteEquipement e) { + HBox hb = getPaneEquipement(); - for (Node n : hb.getChildren()) { - if (n instanceof ImageViewEquipement) { - ImageViewEquipement ive = (ImageViewEquipement) n; - if (ive.contains(e)) { - hb.getChildren().remove(ive); + List liv = new ArrayList(); + for(Iterator iterator = hb.getChildren().iterator(); iterator.hasNext();) { + Node n = iterator.next(); + + if (n instanceof ImageViewEquipement) { + ImageViewEquipement ive = (ImageViewEquipement) n; + if (ive.contains(e)) { + liv.add(ive); + } } } - } - + + hb.getChildren().removeAll(liv); } public String getNom() { diff --git a/src/ihm/controller/PlateauController.java b/src/ihm/controller/PlateauController.java index f01459f..0fabc94 100644 --- a/src/ihm/controller/PlateauController.java +++ b/src/ihm/controller/PlateauController.java @@ -58,8 +58,8 @@ public class PlateauController implements Initializable { private PiocherCarte pc; private LancerDes ld; - private Map mapRessourcesCartes; - private Map mapRessourcesDosCartes; + private static Map mapRessourcesCartes; + private static Map mapRessourcesDosCartes; public static int DICE_SIX = 1; public static int DICE_QUATRE = 0; @@ -347,12 +347,14 @@ public class PlateauController implements Initializable { } - public void afficherChoisirEquipementVole(Joueur j) throws IOException { + public void afficherChoisirEquipementVole(Joueur j, List lce) throws IOException { final URL fxmlURL = getClass().getResource("/ihm/ressources/Jouer_tour(2a)voler_equipement.fxml"); final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRANCE); final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle); Pane root = (Pane)fxmlLoader.load(); this.ce = fxmlLoader.getController(); + this.ce.setListCarteEquipements(lce); + this.ce.initChoisirEquipement(); JoueurIHM jihm = getJoueurIHM(j); jihm.setZoneJoueur(root); } @@ -369,7 +371,7 @@ public class PlateauController implements Initializable { JoueurIHM jihm = getJoueurIHM(j); Pane p = (Pane) jihm.getZoneJoueur(); - Pane pane = null; + Pane pane = new Pane(); if(p.getChildren() != null && p.getChildren().size() > 0) { @@ -481,13 +483,13 @@ public class PlateauController implements Initializable { } - public Image getImageCarte(Carte carte) { - BufferedImage bi = this.mapRessourcesCartes.get(carte); + public static Image getImageCarte(Carte carte) { + BufferedImage bi = mapRessourcesCartes.get(carte); return RessourceLoader.toJavaFX(bi); } - public Image getImageDosCarte(String s) { - BufferedImage bi = this.mapRessourcesDosCartes.get(s); + public static Image getImageDosCarte(String s) { + BufferedImage bi = mapRessourcesDosCartes.get(s); return RessourceLoader.toJavaFX(bi); } @@ -501,7 +503,6 @@ public class PlateauController implements Initializable { public void retirerEquipement(Joueur j, CarteEquipement e) { JoueurIHM jihm = getJoueurIHM(j); jihm.retirerEquipement(e); - } public void close() throws IOException { diff --git a/src/ihm/ressources/Jouer_tour(2a)voler_equipement.fxml b/src/ihm/ressources/Jouer_tour(2a)voler_equipement.fxml index 9e56c4b..429387c 100644 --- a/src/ihm/ressources/Jouer_tour(2a)voler_equipement.fxml +++ b/src/ihm/ressources/Jouer_tour(2a)voler_equipement.fxml @@ -1,27 +1,26 @@ + - - + - + - + - - + + + + diff --git a/src/main/GestionnaireEquipements.java b/src/main/GestionnaireEquipements.java index d0b1bc1..e3f4d18 100644 --- a/src/main/GestionnaireEquipements.java +++ b/src/main/GestionnaireEquipements.java @@ -29,9 +29,6 @@ public class GestionnaireEquipements { this.j.addToStat(Joueur.PLAYER_NB_EQUIPEMENTS, -1); this.j.removeEquipementIHM(e); } - - - } public List getEquipements() { diff --git a/src/main/GestionnaireJeu.java b/src/main/GestionnaireJeu.java index 3b11ccb..d614d0d 100644 --- a/src/main/GestionnaireJeu.java +++ b/src/main/GestionnaireJeu.java @@ -112,12 +112,9 @@ public class GestionnaireJeu { @SuppressWarnings("unchecked") public Object choisir(Joueur joueur, List list, Class cls) { - - if(cls == CarteEquipement.class) { return choisirEquipementVole(joueur, (List) list); }else if(cls == Joueur.class) { - return choisirJoueur(joueur, (List) list, Contexte.ACTIVER_EFFET_LIEU); } return list.get(0); @@ -126,7 +123,7 @@ public class GestionnaireJeu { public CarteEquipement choisirEquipementVole(Joueur joueur, List lce) { Platform.runLater(() -> { try { - pc.afficherChoisirEquipementVole(joueur); + pc.afficherChoisirEquipementVole(joueur,lce); } catch (IOException e) { e.printStackTrace(); } @@ -307,7 +304,7 @@ public class GestionnaireJeu { public void ajouterEquipement(Joueur joueur, CarteEquipement e) { Platform.runLater(() -> { pc.ajouterEquipement(joueur,e); - }); + }); } public void retirerEquipement(Joueur joueur, CarteEquipement e) { diff --git a/src/main/Joueur.java b/src/main/Joueur.java index b2a1a3f..2df12af 100644 --- a/src/main/Joueur.java +++ b/src/main/Joueur.java @@ -128,12 +128,10 @@ public class Joueur { } public void voler(Joueur j2, CarteEquipement equipement) { - j2.gestionnaireEquipements.retirer(equipement); - this.gestionnaireEquipements.ajouter(equipement); } + this.gestionnaireEquipements.ajouter(equipement); + } - - public void attaquer(Joueur j2, int attaqueDice) { int blessure = evaluerImmunite(j2)*(this.evaluerAttaque(j2) + attaqueDice); diff --git a/src/main/Pioche.java b/src/main/Pioche.java index 3b5e28e..f806de6 100644 --- a/src/main/Pioche.java +++ b/src/main/Pioche.java @@ -22,8 +22,11 @@ public class Pioche { Collections.shuffle(cartesPiochables); } - public CartePiochable piocher() { - return cartesPiochables.pop(); + public CartePiochable piocher(Joueur j) { + CartePiochable cp = cartesPiochables.pop(); + GestionnaireJeu gj = GestionnaireJeu.getGestionnaireJeu(); + gj.piocher(j,cp); + return cp; } public Stack getStack() { diff --git a/src/main/Plateau.java b/src/main/Plateau.java index 55d7b0e..6865770 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 3; + return 8; //return Math.abs(roll4+roll6); } From b69955273d7e9c8c005ba0bbf7bd878ff7704472 Mon Sep 17 00:00:00 2001 From: Paul Gross Date: Wed, 13 May 2020 16:06:00 +0200 Subject: [PATCH 02/13] =?UTF-8?q?Ajout=20des=20cartes=20visions=20+=20mens?= =?UTF-8?q?onge=20m=C3=A9tamorphe?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/carte/CarteVision.java | 8 ++++++-- src/ihm/controller/ChoisirEquipement.java | 1 - src/ihm/controller/PlateauController.java | 19 +++++++++++++++++-- src/main/Contexte.java | 2 +- src/main/GestionnaireJeu.java | 16 ++++++++++++++++ src/main/Joueur.java | 5 +++++ src/main/Plateau.java | 2 +- 7 files changed, 46 insertions(+), 7 deletions(-) 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); } From f628d5a2610dad87213d7d7ac9ac07ebcaceb824 Mon Sep 17 00:00:00 2001 From: Bastien NOEL Date: Wed, 13 May 2020 16:41:29 +0200 Subject: [PATCH 03/13] ajout de radio bouton pour le lvl des ia --- src/ihm/ressources/Choix_joueur.fxml | 503 ++++++++++++++++----------- src/ihm/ressources/Menu.fxml | 2 +- 2 files changed, 307 insertions(+), 198 deletions(-) diff --git a/src/ihm/ressources/Choix_joueur.fxml b/src/ihm/ressources/Choix_joueur.fxml index 126e49a..298bdbb 100644 --- a/src/ihm/ressources/Choix_joueur.fxml +++ b/src/ihm/ressources/Choix_joueur.fxml @@ -4,6 +4,7 @@ + @@ -11,152 +12,204 @@ - + - + - + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - + - + - + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - -
- + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/ihm/ressources/Menu.fxml b/src/ihm/ressources/Menu.fxml index 7d4241e..8a7c531 100644 --- a/src/ihm/ressources/Menu.fxml +++ b/src/ihm/ressources/Menu.fxml @@ -21,7 +21,7 @@ -