Merge branch 'development' of https://github.com/PTE-SH/ShadowHunterGame into development

This commit is contained in:
Kruss 2020-05-14 08:22:45 +02:00
commit 38c9dc8e26
8 changed files with 564 additions and 316 deletions

View File

@ -3,10 +3,17 @@ package ihm;
public class Couple {
private String nom;
private boolean ia; // true -> joueur virtuel
private int lvlIa;
public Couple (String nom, boolean ia) {
public Couple (String nom) {
this.nom = nom;
this.ia = ia;
this.ia = false;
}
public Couple (String nom, int niveau) {
this.nom = nom;
this.lvlIa = niveau;
this.ia = true;
}
public String getNom() {
@ -17,6 +24,7 @@ public class Couple {
this.nom = nom;
}
public boolean isIa() {
return ia;
}
@ -25,4 +33,14 @@ public class Couple {
this.ia = ia;
}
public int getLvlIa() {
return lvlIa;
}
public void setLvlIa(int lvlIa) {
this.lvlIa = lvlIa;
}
}

View File

@ -1,6 +1,7 @@
package ihm.controller;
import java.awt.Dimension;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.InputStream;
@ -28,6 +29,7 @@ import javafx.fxml.Initializable;
import javafx.scene.Group;
import javafx.scene.Parent;
import javafx.scene.control.Label;
import javafx.scene.control.SplitPane;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.input.MouseEvent;
@ -66,6 +68,8 @@ public class PlateauController implements Initializable {
public static int DICE_QUATRE = 0;
public static int DICE_BOTH = 2;
private final double RES = 200./2250.;
/**
* initialise les données du plateau
*/
@ -104,88 +108,6 @@ public class PlateauController implements Initializable {
List<ImageView> ivs = this.getLieux();
applyImages(cl,ivs);
// BUTTONS ETC
//System.out.println(this.joueursPane);
/*
this.hboxJoueur.add(joueur1);
this.hboxJoueur.add(joueur2);
this.hboxJoueur.add(joueur3);
this.hboxJoueur.add(joueur4);
for (HBox hbox : hboxJoueur) {
tour.add((AnchorPane) hbox.getChildren().get(0));
VBox carte = (VBox) hbox.getChildren().get(1);
cartePerso.add((ImageView) carte.getChildren().get(0));
btnRevelation.add((Button) carte.getChildren().get(1));
VBox info = (VBox) hbox.getChildren().get(2);
nomJoueur.add((Label) info.getChildren().get(0));
}
this.vboxJoueur.add(joueur5);
this.vboxJoueur.add(joueur6);
this.vboxJoueur.add(joueur7);
this.vboxJoueur.add(joueur8);
for (VBox vbox : vboxJoueur) {
tour.add((AnchorPane) vbox.getChildren().get(0));
HBox joueur = (HBox) vbox.getChildren().get(1);
VBox carte = (VBox) joueur.getChildren().get(1);
cartePerso.add((ImageView) carte.getChildren().get(0));
btnRevelation.add((Button) carte.getChildren().get(1));
VBox info = (VBox) joueur.getChildren().get(0);
nomJoueur.add((Label) info.getChildren().get(0));
}
//initilaisation des boutons se reveler
int i = 0;
for (Button b : btnRevelation) {
int compteur = i;
b.setOnAction(e -> {try {seReveler(compteur);} catch (IOException e1) {e1.printStackTrace();}});
i++;
}
//initialisation des bouton carte personnage
int j = 0;
for (ImageView b : cartePerso) {
int compteur = j;
b.setOnMouseClicked(e -> {try {consulterSaCarte(compteur);} catch (IOException e1) {e1.printStackTrace();}});
j++;
}*/
/*
//initialisation des pions
VBox pionLieux14 = (VBox) lieux.getChildren().get(0);
VBox pionLieux58 = (VBox) lieux.getChildren().get(4);
for (int k=0; k<4; k++) {
pionLieux.add((Circle) pionLieux14.getChildren().get(k));
}
for (int k=0; k<4; k++) {
pionLieux.add((Circle) pionLieux58.getChildren().get(k));
}
VBox pionVie14 = (VBox) lieux.getChildren().get(0);
VBox pionVie58 = (VBox) lieux.getChildren().get(4);
for (int k=0; k<4; k++) {
pionVie.add((Circle) pionVie14.getChildren().get(k));
}
for (int k=0; k<4; k++) {
pionVie.add((Circle) pionVie58.getChildren().get(k));
}
System.out.println("Tour du joueur 1");
try {
final URL fxmlURL = getClass().getResource("../ressources/Jouer_tour(1)lancer_des.fxml");
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.ENGLISH);
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
Pane root = fxmlLoader.load();
root.setPrefSize(255, 180);
tour.get(2).getChildren().setAll(root);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}*/
}
@ -211,9 +133,14 @@ public class PlateauController implements Initializable {
StackPane sp = (StackPane) iv.getParent();
iv.setImage(im);
iv.fitHeightProperty().bind(sp.heightProperty());
Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
iv.setFitWidth(RES*screenSize.width);
//iv.fitHeightProperty().bind(sp.heightProperty());
//iv.fitWidthProperty().bind(sp.widthProperty());
iv.setPreserveRatio(true);
//iv.fitWidthProperty().bind(sp.widthProperty());
}
private Pane getPaneJoueur(int i) {
@ -415,6 +342,18 @@ public class PlateauController implements Initializable {
lzj.setImageView(this.getImageCarte(j.getCarteLieu()));
if(j instanceof JoueurVirtuel) lzj.fireBtnIA();
JoueurIHM jihm = getJoueurIHM(j);
if(jihm.getPosition()==4 || jihm.getPosition()==5) {
SplitPane s=(SplitPane)root.getChildren().get(0);
AnchorPane a=(AnchorPane)s.getItems().get(0);
VBox v= (VBox)a.getChildren().get(0);
AnchorPane b=(AnchorPane)s.getItems().get(1);
ImageView i= (ImageView)b.getChildren().get(0);
v.setRotate(180);
i.setRotate(180);
s.setRotate(180);
}
jihm.setZoneJoueur(root);
}
public void afficherChoisirJoueur(Joueur j, List<Joueur> joueurs, Contexte contexte) throws IOException {
@ -457,6 +396,17 @@ public class PlateauController implements Initializable {
JoueurIHM jihm = getJoueurIHM(j);
jihm.setZoneJoueur(root);
}
public void afficherEffet(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);
@ -574,6 +524,18 @@ public class PlateauController implements Initializable {
lzj.setText("Cachez la carte vision");
if(j instanceof JoueurVirtuel) lzj.fireBtnIA();
JoueurIHM jihm = getJoueurIHM(j);
if(jihm.getPosition()==4 || jihm.getPosition()==5) {
SplitPane s=(SplitPane)root.getChildren().get(0);
AnchorPane a=(AnchorPane)s.getItems().get(0);
VBox v= (VBox)a.getChildren().get(0);
AnchorPane b=(AnchorPane)s.getItems().get(1);
ImageView i= (ImageView)b.getChildren().get(0);
v.setRotate(180);
i.setRotate(180);
s.setRotate(180);
}
jihm.getZoneJoueur();
jihm.setZoneJoueur(root);
}

View File

@ -19,7 +19,9 @@ import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.CheckBox;
import javafx.scene.control.RadioButton;
import javafx.scene.control.TextField;
import javafx.scene.control.ToggleGroup;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.HBox;
@ -43,18 +45,48 @@ public class PlayersController implements Initializable{
@FXML private HBox hb7;
@FXML private HBox hb8;
//pour les radios boutons
@FXML private HBox hbr1;
@FXML private HBox hbr2;
@FXML private HBox hbr3;
@FXML private HBox hbr4;
@FXML private HBox hbr5;
@FXML private HBox hbr6;
@FXML private HBox hbr7;
@FXML private HBox hbr8;
@FXML private ToggleGroup tg1;
@FXML private ToggleGroup tg2;
@FXML private ToggleGroup tg3;
@FXML private ToggleGroup tg4;
@FXML private ToggleGroup tg5;
@FXML private ToggleGroup tg6;
@FXML private ToggleGroup tg7;
@FXML private ToggleGroup tg8;
private List<HBox> ligne = new ArrayList<HBox>();
private List<Button> plus = new ArrayList<Button>();
private List<TextField> txt = new ArrayList<TextField>();
private List<CheckBox> ia = new ArrayList<CheckBox>();
private List<HBox> listeHbIA = new ArrayList<HBox>();
private List<RadioButton> listeIaLv1 = new ArrayList<RadioButton>();
private List<RadioButton> listeIaLv2 = new ArrayList<RadioButton>();
private List<RadioButton> listeIaLv3 = new ArrayList<RadioButton>();
private List<ToggleGroup> listeToggleRbIa = new ArrayList<ToggleGroup>();
private HashMap<Integer, Couple> joueurs = new HashMap<Integer, Couple>();
private int nbJoueursH = 0;
private int nbJoueursV = 0;
/**
* recup<EFBFBD>re chaque bouton textField et Checkebox a partir des hbox
* recupère chaque bouton textField et Checkebox à partir des hbox
*/
@Override
public void initialize(URL arg0, ResourceBundle arg1) {
@ -66,12 +98,44 @@ public class PlayersController implements Initializable{
ligne.add(hb6);
ligne.add(hb7);
ligne.add(hb8);
listeHbIA.add(hbr1);
listeHbIA.add(hbr2);
listeHbIA.add(hbr3);
listeHbIA.add(hbr4);
listeHbIA.add(hbr5);
listeHbIA.add(hbr6);
listeHbIA.add(hbr7);
listeHbIA.add(hbr8);
listeToggleRbIa.add(tg1);
listeToggleRbIa.add(tg2);
listeToggleRbIa.add(tg3);
listeToggleRbIa.add(tg4);
listeToggleRbIa.add(tg5);
listeToggleRbIa.add(tg6);
listeToggleRbIa.add(tg7);
listeToggleRbIa.add(tg8);
for (HBox hb : ligne) {
txt.add((TextField) hb.getChildren().get(0));
plus.add((Button) hb.getChildren().get(1));
ia.add((CheckBox) hb.getChildren().get(2));
}
for (HBox hbr : listeHbIA) {
listeIaLv1.add((RadioButton) hbr.getChildren().get(0));
listeIaLv2.add((RadioButton) hbr.getChildren().get(1));
listeIaLv3.add((RadioButton) hbr.getChildren().get(2));
hbr.getChildren().get(0).setVisible(false);
hbr.getChildren().get(1).setVisible(false);
hbr.getChildren().get(2).setVisible(false);
}
int i=0;
for (Button btn : plus) {
int compteur = i;
@ -106,10 +170,10 @@ public class PlayersController implements Initializable{
CheckBox cb = (CheckBox) hb.getChildren().get(2);
if (tf.isEditable()) {
if(cb.isSelected()) {
joueurs.put(i, new Couple(tf.getText(), true));
joueurs.put(i, new Couple(tf.getText(), choixDifficulte(listeToggleRbIa.get(i))));
}
else {
joueurs.put(i, new Couple(tf.getText(), false));
joueurs.put(i, new Couple(tf.getText()));
}
}
i++;
@ -170,6 +234,12 @@ public class PlayersController implements Initializable{
plus.get(indice).setOnAction(e -> {enleverJoueur(indice);});
if (ia.get(indice).isSelected()) {
listeIaLv1.get(indice).setVisible(true);
listeIaLv2.get(indice).setVisible(true);
listeIaLv3.get(indice).setVisible(true);
nbJoueursV++;
}else {
nbJoueursH++;
@ -197,16 +267,47 @@ public class PlayersController implements Initializable{
txt.get(indice).setStyle("-fx-background-color: silver;");
plus.get(indice).setOnAction(e -> {ajoutJoueur(indice);});
if (ia.get(indice).isSelected())
if (ia.get(indice).isSelected()) {
nbJoueursV--;
else
}
else {
nbJoueursH--;
}
listeIaLv1.get(indice).setVisible(false);
listeIaLv2.get(indice).setVisible(false);
listeIaLv3.get(indice).setVisible(false);
if (nbJoueursH + nbJoueursV < 4) {
btnCommencer.setStyle("-fx-background-color: gray; -fx-text-fill: black;");
}
}
public int choixDifficulte(ToggleGroup tog) {
if(tog.getSelectedToggle() == tog.getToggles().get(0)) {
System.out.println("ia facile");
return 1;
}
else if (tog.getSelectedToggle() == tog.getToggles().get(1)) {
System.out.println("ia moyenne");
return 2;
}
else if (tog.getSelectedToggle() == tog.getToggles().get(2)) {
System.out.println("ia difficile");
return 3;
}
else {
System.out.println("erreur choix difficulté de l'ia");
return -1;
}
}
public void mettreNomDefaut(int indice) {
if (ia.get(indice).isSelected()) {
ajoutJoueur(indice);

View File

@ -4,159 +4,245 @@
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.CheckBox?>
<?import javafx.scene.control.Label?>
<?import javafx.scene.control.RadioButton?>
<?import javafx.scene.control.TextField?>
<?import javafx.scene.control.ToggleGroup?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.BorderPane?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.layout.VBox?>
<?import javafx.scene.text.Font?>
<AnchorPane fx:id="rootPane" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ihm.controller.PlayersController">
<AnchorPane fx:id="rootPane" stylesheets="@style/menu.css" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ihm.controller.PlayersController">
<children>
<BorderPane styleClass="background" stylesheets="@style/menu.css" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<BorderPane styleClass="background" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
<left>
<VBox alignment="CENTER" prefHeight="688.0" prefWidth="240.0" BorderPane.alignment="CENTER">
<children>
<HBox fx:id="hb7" alignment="CENTER_RIGHT" prefHeight="67.0" prefWidth="340.0" rotate="90.0">
<VBox alignment="CENTER" prefHeight="688.0" prefWidth="214.0" rotate="180.0" spacing="150.0">
<children>
<TextField prefHeight="51.0" prefWidth="149.0">
<font>
<Font size="24.0" />
</font>
</TextField>
<Button mnemonicParsing="false" prefHeight="55.0" prefWidth="45.0" styleClass="bouton" stylesheets="@style/menu.css" text="+">
<font>
<Font size="24.0" />
</font>
<HBox.margin>
<Insets left="10.0" right="10.0" />
</HBox.margin>
<padding>
<Insets right="5.0" />
</padding>
</Button>
<CheckBox mnemonicParsing="false">
<font>
<Font size="24.0" />
</font>
</CheckBox>
<HBox alignment="CENTER_RIGHT" prefWidth="274.0" rotate="270.0">
<children>
<VBox alignment="BOTTOM_CENTER" prefHeight="100.0" prefWidth="214.0">
<children>
<HBox fx:id="hbr8" alignment="CENTER" prefHeight="43.0" prefWidth="295.0">
<children>
<RadioButton mnemonicParsing="false" styleClass="titre" text="Facile">
<toggleGroup>
<ToggleGroup fx:id="tg8" />
</toggleGroup>
</RadioButton>
<RadioButton mnemonicParsing="false" selected="true" styleClass="titre" text="Moyen" toggleGroup="$tg8">
<padding>
<Insets left="20.0" right="20.0" />
</padding>
</RadioButton>
<RadioButton mnemonicParsing="false" styleClass="titre" text="Difficile" toggleGroup="$tg8" />
</children>
</HBox>
<HBox fx:id="hb8" alignment="CENTER" prefHeight="100.0" prefWidth="200.0">
<children>
<TextField prefHeight="51.0" prefWidth="149.0">
<font>
<Font size="24.0" />
</font>
</TextField>
<Button mnemonicParsing="false" prefHeight="55.0" prefWidth="45.0" styleClass="bouton" text="+">
<font>
<Font size="24.0" />
</font>
<padding>
<Insets right="5.0" />
</padding>
<HBox.margin>
<Insets left="10.0" right="10.0" />
</HBox.margin>
</Button>
<CheckBox mnemonicParsing="false">
<font>
<Font size="24.0" />
</font>
</CheckBox>
</children>
</HBox>
</children>
</VBox>
</children>
</HBox>
<HBox alignment="CENTER_RIGHT" layoutX="10.0" layoutY="304.0" prefHeight="100.0" prefWidth="299.0" rotate="270.0">
<children>
<VBox alignment="BOTTOM_CENTER" prefHeight="100.0" prefWidth="214.0">
<children>
<HBox fx:id="hbr7" alignment="CENTER" prefHeight="43.0" prefWidth="295.0">
<children>
<RadioButton mnemonicParsing="false" styleClass="titre" text="Facile">
<toggleGroup>
<ToggleGroup fx:id="tg7" />
</toggleGroup>
</RadioButton>
<RadioButton mnemonicParsing="false" selected="true" styleClass="titre" text="Moyen" toggleGroup="$tg7">
<padding>
<Insets left="20.0" right="20.0" />
</padding>
</RadioButton>
<RadioButton mnemonicParsing="false" styleClass="titre" text="Difficile" toggleGroup="$tg7" />
</children>
</HBox>
<HBox fx:id="hb7" alignment="CENTER" prefHeight="100.0" prefWidth="200.0">
<children>
<TextField prefHeight="51.0" prefWidth="149.0">
<font>
<Font size="24.0" />
</font>
</TextField>
<Button mnemonicParsing="false" prefHeight="55.0" prefWidth="45.0" styleClass="bouton" text="+">
<font>
<Font size="24.0" />
</font>
<padding>
<Insets right="5.0" />
</padding>
<HBox.margin>
<Insets left="10.0" right="10.0" />
</HBox.margin>
</Button>
<CheckBox mnemonicParsing="false">
<font>
<Font size="24.0" />
</font>
</CheckBox>
</children>
</HBox>
</children>
</VBox>
</children>
</HBox>
</children>
<VBox.margin>
<Insets bottom="150.0" left="-100.0" />
</VBox.margin>
</HBox>
<HBox fx:id="hb8" alignment="CENTER_LEFT" rotate="90.0">
<children>
<TextField prefHeight="51.0" prefWidth="149.0">
<font>
<Font size="24.0" />
</font>
</TextField>
<Button mnemonicParsing="false" prefHeight="55.0" prefWidth="45.0" styleClass="bouton" stylesheets="@style/menu.css" text="+">
<font>
<Font size="24.0" />
</font>
<HBox.margin>
<Insets left="10.0" right="10.0" />
</HBox.margin>
<padding>
<Insets right="5.0" />
</padding>
</Button>
<CheckBox mnemonicParsing="false">
<font>
<Font size="24.0" />
</font>
</CheckBox>
</children>
<VBox.margin>
<Insets left="-100.0" top="200.0" />
</VBox.margin>
</HBox>
</VBox>
</children>
</VBox>
</left>
<right>
<VBox alignment="CENTER" prefHeight="688.0" prefWidth="248.0" BorderPane.alignment="CENTER">
<VBox alignment="CENTER" prefHeight="688.0" prefWidth="214.0" spacing="150.0" BorderPane.alignment="CENTER">
<children>
<HBox fx:id="hb4" alignment="CENTER_LEFT" prefHeight="100.0" prefWidth="200.0" rotate="270.0">
<HBox alignment="CENTER_RIGHT" prefWidth="274.0" rotate="270.0">
<children>
<TextField prefHeight="51.0" prefWidth="149.0">
<font>
<Font size="24.0" />
</font>
</TextField>
<Button mnemonicParsing="false" prefHeight="55.0" prefWidth="45.0" styleClass="bouton" stylesheets="@style/menu.css" text="+">
<font>
<Font size="24.0" />
</font>
<HBox.margin>
<Insets left="10.0" right="10.0" />
</HBox.margin>
<padding>
<Insets right="5.0" />
</padding>
</Button>
<CheckBox mnemonicParsing="false">
<font>
<Font size="24.0" />
</font>
</CheckBox>
<VBox alignment="BOTTOM_CENTER" prefHeight="100.0" prefWidth="214.0">
<children>
<HBox fx:id="hbr4" alignment="CENTER" prefHeight="43.0" prefWidth="295.0">
<children>
<RadioButton mnemonicParsing="false" styleClass="titre" text="Facile">
<toggleGroup>
<ToggleGroup fx:id="tg4" />
</toggleGroup>
</RadioButton>
<RadioButton mnemonicParsing="false" selected="true" styleClass="titre" text="Moyen" toggleGroup="$tg4">
<padding>
<Insets left="20.0" right="20.0" />
</padding>
</RadioButton>
<RadioButton mnemonicParsing="false" styleClass="titre" text="Difficile" toggleGroup="$tg4" />
</children>
</HBox>
<HBox fx:id="hb4" alignment="CENTER" prefHeight="100.0" prefWidth="200.0">
<children>
<TextField prefHeight="51.0" prefWidth="149.0">
<font>
<Font size="24.0" />
</font>
</TextField>
<Button mnemonicParsing="false" prefHeight="55.0" prefWidth="45.0" styleClass="bouton" text="+">
<font>
<Font size="24.0" />
</font>
<padding>
<Insets right="5.0" />
</padding>
<HBox.margin>
<Insets left="10.0" right="10.0" />
</HBox.margin>
</Button>
<CheckBox mnemonicParsing="false">
<font>
<Font size="24.0" />
</font>
</CheckBox>
</children>
</HBox>
</children>
</VBox>
</children>
<VBox.margin>
<Insets bottom="150.0" right="-100.0" />
</VBox.margin>
</HBox>
<HBox fx:id="hb3" alignment="CENTER_RIGHT" prefHeight="100.0" prefWidth="200.0" rotate="270.0">
<HBox alignment="CENTER_RIGHT" layoutX="10.0" layoutY="304.0" prefHeight="100.0" prefWidth="299.0" rotate="270.0">
<children>
<TextField prefHeight="51.0" prefWidth="149.0">
<font>
<Font size="24.0" />
</font>
</TextField>
<Button mnemonicParsing="false" prefHeight="55.0" prefWidth="45.0" styleClass="bouton" stylesheets="@style/menu.css" text="+">
<font>
<Font size="24.0" />
</font>
<padding>
<Insets right="5.0" />
</padding>
<HBox.margin>
<Insets left="10.0" right="10.0" />
</HBox.margin>
</Button>
<CheckBox mnemonicParsing="false">
<font>
<Font size="24.0" />
</font>
</CheckBox>
<VBox alignment="BOTTOM_CENTER" prefHeight="100.0" prefWidth="214.0">
<children>
<HBox fx:id="hbr3" alignment="CENTER" prefHeight="43.0" prefWidth="295.0">
<children>
<RadioButton mnemonicParsing="false" styleClass="titre" text="Facile">
<toggleGroup>
<ToggleGroup fx:id="tg3" />
</toggleGroup>
</RadioButton>
<RadioButton mnemonicParsing="false" selected="true" styleClass="titre" text="Moyen" toggleGroup="$tg3">
<padding>
<Insets left="20.0" right="20.0" />
</padding>
</RadioButton>
<RadioButton mnemonicParsing="false" styleClass="titre" text="Difficile" toggleGroup="$tg3" />
</children>
</HBox>
<HBox fx:id="hb3" alignment="CENTER" prefHeight="100.0" prefWidth="200.0">
<children>
<TextField prefHeight="51.0" prefWidth="149.0">
<font>
<Font size="24.0" />
</font>
</TextField>
<Button mnemonicParsing="false" prefHeight="55.0" prefWidth="45.0" styleClass="bouton" text="+">
<font>
<Font size="24.0" />
</font>
<padding>
<Insets right="5.0" />
</padding>
<HBox.margin>
<Insets left="10.0" right="10.0" />
</HBox.margin>
</Button>
<CheckBox mnemonicParsing="false">
<font>
<Font size="24.0" />
</font>
</CheckBox>
</children>
</HBox>
</children>
</VBox>
</children>
<VBox.margin>
<Insets right="-100.0" top="150.0" />
</VBox.margin>
</HBox>
</children>
</VBox>
</right>
<center>
<VBox alignment="CENTER" prefHeight="486.0" prefWidth="392.0" BorderPane.alignment="CENTER">
<VBox alignment="CENTER" prefHeight="486.0" prefWidth="553.0" BorderPane.alignment="CENTER">
<children>
<Label styleClass="titre" stylesheets="@style/menu.css" text="%entrez.nom.joueur">
<Label styleClass="titre" text="%entrez.nom.joueur">
<font>
<Font size="48.0" />
</font>
</Label>
<Label styleClass="titre" stylesheets="@style/menu.css" text="%nombre.joueur.minimum">
<Label styleClass="titre" text="%nombre.joueur.minimum">
<font>
<Font size="36.0" />
</font>
</Label>
<Label styleClass="titre" stylesheets="@style/menu.css" text="%cocher.case">
<Label styleClass="titre" text="%cocher.case">
<font>
<Font size="36.0" />
</font>
</Label>
<Button fx:id="btnCommencer" mnemonicParsing="false" onMouseClicked="#commencerJeux" styleClass="bouton" stylesheets="@style/menu.css" text="%commencer.partie">
<Button fx:id="btnCommencer" mnemonicParsing="false" onMouseClicked="#commencerJeux" styleClass="bouton" text="%commencer.partie">
<font>
<Font size="24.0" />
</font>
@ -164,7 +250,7 @@
<Insets top="20.0" />
</VBox.margin>
</Button>
<Button layoutX="283.0" layoutY="379.0" mnemonicParsing="false" onMouseClicked="#retour" prefHeight="55.0" prefWidth="247.0" styleClass="bouton" stylesheets="@style/menu.css" text="Retour">
<Button layoutX="283.0" layoutY="379.0" mnemonicParsing="false" onMouseClicked="#retour" prefHeight="55.0" prefWidth="247.0" styleClass="bouton" text="Retour">
<font>
<Font size="24.0" />
</font>
@ -178,94 +264,16 @@
<top>
<HBox alignment="CENTER" prefHeight="110.0" prefWidth="1280.0" BorderPane.alignment="CENTER">
<children>
<HBox fx:id="hb6" alignment="CENTER" rotate="180.0">
<VBox alignment="CENTER" prefHeight="110.0" prefWidth="559.0" spacing="10.0">
<children>
<TextField>
<font>
<Font size="24.0" />
</font>
</TextField>
<Button mnemonicParsing="false" prefHeight="55.0" prefWidth="55.0" styleClass="bouton" stylesheets="@style/menu.css" text="+">
<font>
<Font size="24.0" />
</font>
<HBox.margin>
<Insets left="10.0" right="10.0" />
</HBox.margin>
</Button>
<CheckBox mnemonicParsing="false">
<font>
<Font size="24.0" />
</font>
</CheckBox>
</children>
</HBox>
<HBox fx:id="hb5" alignment="CENTER" rotate="180.0">
<children>
<TextField accessibleRole="PARENT">
<font>
<Font size="24.0" />
</font>
<HBox.margin>
<Insets />
</HBox.margin>
</TextField>
<Button mnemonicParsing="false" prefHeight="55.0" prefWidth="55.0" styleClass="bouton" stylesheets="@style/menu.css" text="+">
<font>
<Font size="24.0" />
</font>
<HBox.margin>
<Insets left="10.0" right="10.0" />
</HBox.margin>
</Button>
<CheckBox mnemonicParsing="false">
<font>
<Font size="24.0" />
</font>
</CheckBox>
</children>
<HBox.margin>
<Insets left="30.0" />
</HBox.margin>
</HBox>
</children>
</HBox>
</top>
<bottom>
<VBox alignment="CENTER" prefHeight="94.0" prefWidth="1280.0" BorderPane.alignment="CENTER">
<children>
<HBox alignment="CENTER" prefHeight="100.0" prefWidth="200.0">
<children>
<HBox fx:id="hb1" alignment="CENTER">
<children>
<TextField prefHeight="51.0" prefWidth="298.0">
<font>
<Font size="24.0" />
</font>
</TextField>
<Button mnemonicParsing="false" prefHeight="55.0" prefWidth="55.0" styleClass="bouton" stylesheets="@style/menu.css" text="+">
<font>
<Font size="24.0" />
</font>
<HBox.margin>
<Insets left="10.0" right="10.0" />
</HBox.margin>
</Button>
<CheckBox mnemonicParsing="false">
<font>
<Font size="24.0" />
</font>
</CheckBox>
</children>
</HBox>
<HBox fx:id="hb2" alignment="CENTER">
<HBox fx:id="hb6" alignment="CENTER" prefWidth="754.0" rotate="180.0">
<children>
<TextField>
<font>
<Font size="24.0" />
</font>
</TextField>
<Button mnemonicParsing="false" prefHeight="55.0" prefWidth="55.0" styleClass="bouton" stylesheets="@style/menu.css" text="+">
<Button mnemonicParsing="false" prefHeight="55.0" prefWidth="55.0" styleClass="bouton" text="+">
<font>
<Font size="24.0" />
</font>
@ -279,13 +287,176 @@
</font>
</CheckBox>
</children>
<HBox.margin>
<Insets left="30.0" />
</HBox.margin>
</HBox>
<HBox fx:id="hbr6" alignment="CENTER" prefHeight="20.0" prefWidth="762.0">
<children>
<RadioButton contentDisplay="CENTER" mnemonicParsing="false" rotate="180.0" styleClass="titre" text="Difficile">
<toggleGroup>
<ToggleGroup fx:id="tg6" />
</toggleGroup></RadioButton>
<RadioButton mnemonicParsing="false" rotate="180.0" selected="true" styleClass="titre" text="Moyen" toggleGroup="$tg6">
<padding>
<Insets left="20.0" right="20.0" />
</padding></RadioButton>
<RadioButton mnemonicParsing="false" rotate="180.0" styleClass="titre" text="Facile" toggleGroup="$tg6" />
</children>
</HBox>
</children>
</VBox>
<VBox alignment="CENTER" spacing="10.0">
<children>
<HBox fx:id="hb5" alignment="CENTER" prefHeight="55.0" prefWidth="537.0" rotate="180.0">
<children>
<TextField accessibleRole="PARENT">
<font>
<Font size="24.0" />
</font>
<HBox.margin>
<Insets />
</HBox.margin>
</TextField>
<Button mnemonicParsing="false" prefHeight="55.0" prefWidth="55.0" styleClass="bouton" text="+">
<font>
<Font size="24.0" />
</font>
<HBox.margin>
<Insets left="10.0" right="10.0" />
</HBox.margin>
</Button>
<CheckBox mnemonicParsing="false">
<font>
<Font size="24.0" />
</font>
</CheckBox>
</children>
</HBox>
<HBox fx:id="hbr5" alignment="CENTER" prefHeight="6.0" prefWidth="356.0">
<children>
<RadioButton mnemonicParsing="false" rotate="180.0" styleClass="titre" text="Difficile">
<toggleGroup>
<ToggleGroup fx:id="tg5" />
</toggleGroup></RadioButton>
<RadioButton mnemonicParsing="false" rotate="180.0" selected="true" styleClass="titre" text="Moyen" toggleGroup="$tg5">
<padding>
<Insets left="20.0" right="20.0" />
</padding></RadioButton>
<RadioButton mnemonicParsing="false" rotate="180.0" styleClass="titre" text="Facile" toggleGroup="$tg5" />
</children>
</HBox>
</children>
</VBox>
</children>
</HBox>
</top>
<bottom>
<VBox alignment="CENTER" prefHeight="0.0" prefWidth="902.0" BorderPane.alignment="CENTER">
<children>
<HBox alignment="CENTER" prefHeight="129.0" prefWidth="1280.0">
<children>
<VBox alignment="CENTER" prefHeight="70.0" prefWidth="1338.0" spacing="20.0">
<children>
<HBox fx:id="hbr1" alignment="CENTER" prefHeight="43.0" prefWidth="688.0">
<children>
<RadioButton mnemonicParsing="false" styleClass="titre" text="Facile">
<opaqueInsets>
<Insets />
</opaqueInsets>
<toggleGroup>
<ToggleGroup fx:id="tg1" />
</toggleGroup></RadioButton>
<RadioButton mnemonicParsing="false" selected="true" styleClass="titre" text="Moyen" toggleGroup="$tg1">
<padding>
<Insets left="20.0" right="20.0" />
</padding></RadioButton>
<RadioButton mnemonicParsing="false" styleClass="titre" text="Difficile" toggleGroup="$tg1" />
</children>
<padding>
<Insets bottom="-5.0" />
</padding>
</HBox>
<HBox fx:id="hb1" alignment="CENTER">
<children>
<TextField prefHeight="51.0" prefWidth="298.0">
<font>
<Font size="24.0" />
</font>
</TextField>
<Button mnemonicParsing="false" prefHeight="55.0" prefWidth="55.0" styleClass="bouton" text="+">
<font>
<Font size="24.0" />
</font>
<HBox.margin>
<Insets left="10.0" right="10.0" />
</HBox.margin>
</Button>
<CheckBox mnemonicParsing="false">
<font>
<Font size="24.0" />
</font>
</CheckBox>
</children>
<padding>
<Insets bottom="10.0" top="-3.0" />
</padding>
</HBox>
</children>
<opaqueInsets>
<Insets />
</opaqueInsets>
</VBox>
<VBox alignment="CENTER" prefHeight="70.0" prefWidth="1213.0">
<children>
<HBox fx:id="hbr2" alignment="CENTER" prefHeight="43.0" prefWidth="688.0">
<children>
<RadioButton mnemonicParsing="false" styleClass="titre" text="Facile">
<toggleGroup>
<ToggleGroup fx:id="tg2" />
</toggleGroup>
</RadioButton>
<RadioButton mnemonicParsing="false" selected="true" styleClass="titre" text="Moyen" toggleGroup="$tg2">
<padding>
<Insets left="20.0" right="20.0" />
</padding>
</RadioButton>
<RadioButton mnemonicParsing="false" styleClass="titre" text="Difficile" toggleGroup="$tg2" />
</children>
<padding>
<Insets bottom="10.0" />
</padding>
</HBox>
<HBox fx:id="hb2" alignment="CENTER" prefHeight="63.0" prefWidth="433.0">
<children>
<TextField prefHeight="51.0" prefWidth="310.0">
<font>
<Font size="24.0" />
</font>
</TextField>
<Button mnemonicParsing="false" prefHeight="55.0" prefWidth="55.0" styleClass="bouton" text="+">
<font>
<Font size="24.0" />
</font>
<HBox.margin>
<Insets left="10.0" right="10.0" />
</HBox.margin>
</Button>
<CheckBox mnemonicParsing="false">
<font>
<Font size="24.0" />
</font>
</CheckBox>
</children>
<padding>
<Insets bottom="10.0" />
</padding>
</HBox>
</children>
</VBox>
</children>
</HBox>
</children>
<opaqueInsets>
<Insets />
</opaqueInsets>
</VBox>
</bottom>
</BorderPane>

View File

@ -21,7 +21,7 @@
<Font size="24.0" />
</font>
</Button>
<Button mnemonicParsing="false" onMouseClicked="#ouvrirParametres" styleClass="bouton" text="Paramètres">
<Button mnemonicParsing="false" onMouseClicked="#ouvrirParametres" styleClass="bouton" text="%parametre">
<font>
<Font size="24.0" />
</font>

View File

@ -252,7 +252,7 @@
<Insets bottom="25.0" />
</padding>
</GridPane>
<HBox alignment="CENTER" prefHeight="366.0" prefWidth="1125.0" spacing="50.0">
<HBox alignment="CENTER" maxWidth="1280.0" spacing="50.0">
<children>
<VBox alignment="TOP_CENTER">
<children>
@ -290,14 +290,14 @@
</VBox>
<VBox alignment="CENTER" spacing="50.0">
<children>
<GridPane alignment="CENTER" hgap="20.0">
<GridPane alignment="CENTER" hgap="20.0" maxHeight="-Infinity" prefHeight="250.0">
<columnConstraints>
<ColumnConstraints hgrow="ALWAYS" />
<ColumnConstraints />
<ColumnConstraints hgrow="ALWAYS" />
</columnConstraints>
<rowConstraints>
<RowConstraints />
<RowConstraints vgrow="ALWAYS" />
</rowConstraints>
<children>
<GridPane>
@ -324,21 +324,21 @@
<ColumnConstraints />
</columnConstraints>
<rowConstraints>
<RowConstraints />
<RowConstraints vgrow="ALWAYS" />
</rowConstraints>
<children>
<HBox alignment="TOP_CENTER" maxHeight="-Infinity" maxWidth="-Infinity" spacing="5.0" styleClass="lieux" stylesheets="@style/plateau.css">
<HBox alignment="CENTER" spacing="5.0" styleClass="lieux" stylesheets="@style/plateau.css">
<children>
<StackPane HBox.hgrow="NEVER">
<children>
<ImageView fitHeight="150.0" fitWidth="77.0" pickOnBounds="true" preserveRatio="true" />
<FlowPane prefHeight="150.0" prefWidth="63.0" styleClass="lieu" />
<ImageView pickOnBounds="true" preserveRatio="true" StackPane.alignment="CENTER" />
<FlowPane styleClass="lieu" />
</children>
</StackPane>
<StackPane layoutX="39.0" layoutY="12.0" HBox.hgrow="NEVER">
<StackPane layoutX="39.0" layoutY="12.0" maxHeight="360.0" HBox.hgrow="NEVER">
<children>
<ImageView fitHeight="150.0" fitWidth="40.0" pickOnBounds="true" preserveRatio="true" />
<FlowPane prefHeight="150.0" prefWidth="13.0" />
<ImageView pickOnBounds="true" preserveRatio="true" />
<FlowPane />
</children>
</StackPane>
</children>
@ -353,14 +353,14 @@
<children>
<StackPane HBox.hgrow="NEVER">
<children>
<ImageView fitHeight="150.0" fitWidth="98.0" pickOnBounds="true" preserveRatio="true" />
<FlowPane prefHeight="150.0" prefWidth="64.0" />
<ImageView pickOnBounds="true" preserveRatio="true" />
<FlowPane />
</children>
</StackPane>
<StackPane HBox.hgrow="NEVER">
<children>
<ImageView fitHeight="150.0" fitWidth="93.0" pickOnBounds="true" preserveRatio="true" />
<FlowPane prefHeight="150.0" prefWidth="69.0" />
<ImageView pickOnBounds="true" preserveRatio="true" />
<FlowPane />
</children>
</StackPane>
</children>
@ -370,16 +370,16 @@
</HBox>
<HBox alignment="TOP_CENTER" spacing="5.0" styleClass="lieux" stylesheets="@style/plateau.css" GridPane.columnIndex="2">
<children>
<StackPane HBox.hgrow="NEVER">
<StackPane maxHeight="360.0" HBox.hgrow="NEVER">
<children>
<ImageView fitHeight="150.0" fitWidth="111.0" pickOnBounds="true" preserveRatio="true" />
<FlowPane prefHeight="150.0" prefWidth="81.0" />
<ImageView pickOnBounds="true" preserveRatio="true" />
<FlowPane />
</children>
</StackPane>
<StackPane HBox.hgrow="NEVER">
<StackPane maxHeight="360.0" HBox.hgrow="NEVER">
<children>
<ImageView fitHeight="150.0" fitWidth="125.0" pickOnBounds="true" preserveRatio="true" />
<FlowPane prefHeight="150.0" prefWidth="113.0" />
<ImageView pickOnBounds="true" preserveRatio="true" />
<FlowPane />
</children>
</StackPane>
</children>

View File

@ -344,10 +344,5 @@ public class GestionnaireJeu {
}
});
waitPlateau();
}
}

View File

@ -453,11 +453,12 @@ public class Plateau extends Thread{
}
public Joueur choisirParmisTous(Joueur joueur) {
List<Joueur> joueurs = this.getJoueurs();
List<Joueur> joueurs = new ArrayList<Joueur>();
joueurs.addAll(this.getJoueurs());
joueurs.remove(joueur);
return (Joueur) gj.choisir(joueur, joueurs, Joueur.class);
}
public void updateVieJoueur(Joueur joueur, int damage) {
gj.updateVieJoueur(joueur,damage);