Factoriser PlateauController
This commit is contained in:
parent
8042514def
commit
b6932c530e
BIN
lib/javafx-swt.jar
Normal file
BIN
lib/javafx-swt.jar
Normal file
Binary file not shown.
BIN
lib/javafx.base.jar
Normal file
BIN
lib/javafx.base.jar
Normal file
Binary file not shown.
BIN
lib/javafx.controls.jar
Normal file
BIN
lib/javafx.controls.jar
Normal file
Binary file not shown.
BIN
lib/javafx.fxml.jar
Normal file
BIN
lib/javafx.fxml.jar
Normal file
Binary file not shown.
BIN
lib/javafx.graphics.jar
Normal file
BIN
lib/javafx.graphics.jar
Normal file
Binary file not shown.
BIN
lib/javafx.media.jar
Normal file
BIN
lib/javafx.media.jar
Normal file
Binary file not shown.
3
lib/javafx.properties
Normal file
3
lib/javafx.properties
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
javafx.version=11.0.2
|
||||||
|
javafx.runtime.version=11.0.2+1
|
||||||
|
javafx.runtime.build=1
|
BIN
lib/javafx.swing.jar
Normal file
BIN
lib/javafx.swing.jar
Normal file
Binary file not shown.
BIN
lib/javafx.web.jar
Normal file
BIN
lib/javafx.web.jar
Normal file
Binary file not shown.
@ -1,60 +0,0 @@
|
|||||||
package ihm;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author https://www.programcreek.com/java-api-examples/?code=AlmasB%2FFXTutorials%2FFXTutorials-master%2Fsrc%2Fcom%2Falmasb%2Ftutorial5%2FDice.java
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
import javafx.animation.RotateTransition;
|
|
||||||
import javafx.beans.property.SimpleIntegerProperty;
|
|
||||||
import javafx.geometry.Pos;
|
|
||||||
import javafx.scene.layout.StackPane;
|
|
||||||
import javafx.scene.paint.Color;
|
|
||||||
import javafx.scene.shape.Rectangle;
|
|
||||||
import javafx.scene.text.Text;
|
|
||||||
import javafx.util.Duration;
|
|
||||||
|
|
||||||
public class Dice extends StackPane {
|
|
||||||
|
|
||||||
public static int MAX_VALUE = 6;
|
|
||||||
public static final int MIN_VALUE = 1;
|
|
||||||
|
|
||||||
public final SimpleIntegerProperty valueProperty = new SimpleIntegerProperty();
|
|
||||||
|
|
||||||
int i = 0;
|
|
||||||
|
|
||||||
public Dice(int valeurMax) {
|
|
||||||
|
|
||||||
MAX_VALUE = valeurMax;
|
|
||||||
Rectangle rect = new Rectangle(50, 50);
|
|
||||||
|
|
||||||
Text text = new Text();
|
|
||||||
text.setFill(Color.WHITE);
|
|
||||||
text.textProperty().bind(valueProperty.asString());
|
|
||||||
|
|
||||||
this.setAlignment(Pos.CENTER);
|
|
||||||
getChildren().addAll(rect, text);
|
|
||||||
|
|
||||||
this.setOnMouseClicked(event -> roll());
|
|
||||||
}
|
|
||||||
|
|
||||||
public void roll() {
|
|
||||||
RotateTransition rt = new RotateTransition(Duration.seconds(0.5), this);
|
|
||||||
rt.setFromAngle(0);
|
|
||||||
rt.setToAngle(360);
|
|
||||||
int cycles = 2000;
|
|
||||||
|
|
||||||
rt.setOnFinished(event -> {
|
|
||||||
|
|
||||||
valueProperty.set((int)(Math.random() * (MAX_VALUE - MIN_VALUE + 1)) + MIN_VALUE);
|
|
||||||
|
|
||||||
if(cycles < i) {
|
|
||||||
|
|
||||||
rt.play();
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
|
|
||||||
});
|
|
||||||
rt.play();
|
|
||||||
}
|
|
||||||
}
|
|
@ -15,7 +15,7 @@ public class Main extends Application {
|
|||||||
public void start(Stage primaryStage) throws Exception {
|
public void start(Stage primaryStage) throws Exception {
|
||||||
System.out.println("Lancement de l'application");
|
System.out.println("Lancement de l'application");
|
||||||
|
|
||||||
final URL fxmlURL = getClass().getResource("ressources/parametre.fxml"); // "ressources/Jouer_tour(1)lancer_des.fxml"
|
final URL fxmlURL = getClass().getResource("ressources/Menu.fxml"); // "ressources/Jouer_tour(1)lancer_des.fxml"
|
||||||
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.ENGLISH);
|
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.ENGLISH);
|
||||||
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
||||||
Pane root = fxmlLoader.load();
|
Pane root = fxmlLoader.load();
|
||||||
|
@ -4,6 +4,7 @@ package ihm.controller;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Locale;
|
import java.util.Locale;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -22,10 +23,11 @@ import javafx.scene.layout.AnchorPane;
|
|||||||
import javafx.scene.layout.HBox;
|
import javafx.scene.layout.HBox;
|
||||||
import javafx.scene.layout.Pane;
|
import javafx.scene.layout.Pane;
|
||||||
import javafx.scene.layout.VBox;
|
import javafx.scene.layout.VBox;
|
||||||
|
import main.GestionnaireJeu;
|
||||||
import main.Joueur;
|
import main.Joueur;
|
||||||
import main.View;
|
|
||||||
|
|
||||||
public class PlateauController implements Initializable {
|
public class PlateauController implements Initializable {
|
||||||
|
|
||||||
private List<Joueur> listJoueur = new ArrayList<Joueur>();
|
private List<Joueur> listJoueur = new ArrayList<Joueur>();
|
||||||
private List<VBox> vboxJoueur = new ArrayList<VBox>();
|
private List<VBox> vboxJoueur = new ArrayList<VBox>();
|
||||||
private List<HBox> hboxJoueur = new ArrayList<HBox>();
|
private List<HBox> hboxJoueur = new ArrayList<HBox>();
|
||||||
@ -33,7 +35,10 @@ public class PlateauController implements Initializable {
|
|||||||
private List<ImageView> cartePerso = new ArrayList<ImageView>();
|
private List<ImageView> cartePerso = new ArrayList<ImageView>();
|
||||||
private List<Label> nomJoueur = new ArrayList<Label>();
|
private List<Label> nomJoueur = new ArrayList<Label>();
|
||||||
private List<AnchorPane> tour = new ArrayList<AnchorPane>();
|
private List<AnchorPane> tour = new ArrayList<AnchorPane>();
|
||||||
|
|
||||||
|
private Map<Joueur,Pane> joueursPane;
|
||||||
|
|
||||||
|
@FXML private AnchorPane rootPane;
|
||||||
@FXML private HBox joueur1;
|
@FXML private HBox joueur1;
|
||||||
@FXML private HBox joueur2;
|
@FXML private HBox joueur2;
|
||||||
@FXML private HBox joueur3;
|
@FXML private HBox joueur3;
|
||||||
@ -55,11 +60,22 @@ public class PlateauController implements Initializable {
|
|||||||
System.out.println("Création du plateau ...");
|
System.out.println("Création du plateau ...");
|
||||||
//initialisation des attributs des joueurs
|
//initialisation des attributs des joueurs
|
||||||
|
|
||||||
|
GestionnaireJeu gj = GestionnaireJeu.getGestionnaireJeu();
|
||||||
|
|
||||||
|
this.joueursPane = new HashMap<Joueur, Pane>();
|
||||||
|
Map<Integer, Joueur> map = gj.getMapJoueurs();
|
||||||
|
|
||||||
|
for(int i : map.keySet()) {
|
||||||
|
this.joueursPane.put(map.get(i), getPaneJoueur(i));
|
||||||
|
}
|
||||||
|
|
||||||
|
System.out.println(joueursPane);
|
||||||
|
|
||||||
this.hboxJoueur.add(joueur1);
|
this.hboxJoueur.add(joueur1);
|
||||||
this.hboxJoueur.add(joueur2);
|
this.hboxJoueur.add(joueur2);
|
||||||
this.hboxJoueur.add(joueur3);
|
this.hboxJoueur.add(joueur3);
|
||||||
this.hboxJoueur.add(joueur4);
|
this.hboxJoueur.add(joueur4);
|
||||||
|
|
||||||
for (HBox hbox : hboxJoueur) {
|
for (HBox hbox : hboxJoueur) {
|
||||||
tour.add((AnchorPane) hbox.getChildren().get(0));
|
tour.add((AnchorPane) hbox.getChildren().get(0));
|
||||||
VBox carte = (VBox) hbox.getChildren().get(1);
|
VBox carte = (VBox) hbox.getChildren().get(1);
|
||||||
@ -98,8 +114,7 @@ public class PlateauController implements Initializable {
|
|||||||
b.setOnMouseClicked(e -> {try {consulterSaCarte(compteur);} catch (IOException e1) {e1.printStackTrace();}});
|
b.setOnMouseClicked(e -> {try {consulterSaCarte(compteur);} catch (IOException e1) {e1.printStackTrace();}});
|
||||||
j++;
|
j++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
final URL fxmlURL = getClass().getResource("../ressources/Jouer_tour(1)lancer_des.fxml");
|
final URL fxmlURL = getClass().getResource("../ressources/Jouer_tour(1)lancer_des.fxml");
|
||||||
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.ENGLISH);
|
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.ENGLISH);
|
||||||
@ -111,8 +126,18 @@ public class PlateauController implements Initializable {
|
|||||||
// TODO Auto-generated catch block
|
// TODO Auto-generated catch block
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
listJoueur = View.getJoueurs();
|
|
||||||
|
private Pane getPaneJoueur(int i) {
|
||||||
|
Pane parent = getPaneCoupleJoueurs(i);
|
||||||
|
int position = i%2;
|
||||||
|
return (Pane) parent.getChildren().get(position);
|
||||||
|
}
|
||||||
|
|
||||||
|
private Pane getPaneCoupleJoueurs(int i) {
|
||||||
|
int position = (i%8)/2;
|
||||||
|
Pane parent = (Pane) rootPane.getChildren().get(0);
|
||||||
|
return (Pane) parent.getChildren().get(position+1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -115,14 +115,18 @@ public class PlayersController implements Initializable{
|
|||||||
// Creer une configuration
|
// Creer une configuration
|
||||||
//View.applyConfiguration(new Configuration(joueurs, nbJoueursV, nbJoueursH));
|
//View.applyConfiguration(new Configuration(joueurs, nbJoueursV, nbJoueursH));
|
||||||
|
|
||||||
|
GestionnaireJeu gj = GestionnaireJeu.getGestionnaireJeu();
|
||||||
|
gj.setConfiguration(new Configuration(this.joueurs));
|
||||||
|
|
||||||
final URL fxmlURL = getClass().getResource("../ressources/Plateau.fxml");
|
final URL fxmlURL = getClass().getResource("../ressources/Plateau.fxml");
|
||||||
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRENCH);
|
final ResourceBundle bundle = ResourceBundle.getBundle("domaine.properties.langue", Locale.FRENCH);
|
||||||
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
final FXMLLoader fxmlLoader = new FXMLLoader(fxmlURL, bundle);
|
||||||
Parent root = fxmlLoader.load();
|
Parent root = fxmlLoader.load();
|
||||||
PlateauController pc = fxmlLoader.getController();
|
PlateauController pc = fxmlLoader.getController();
|
||||||
GestionnaireJeu.setPlateauController(pc);
|
|
||||||
GestionnaireJeu.setConfiguration(new Configuration(this.joueurs));
|
gj.setPlateauController(pc);
|
||||||
Map<Integer, Joueur> map = GestionnaireJeu.getJoueursMap(new Configuration(this.joueurs));
|
|
||||||
|
Map<Integer, Joueur> map = gj.getMapJoueurs();
|
||||||
|
|
||||||
|
|
||||||
pc.showInformation(map);
|
pc.showInformation(map);
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
<?import javafx.scene.layout.VBox?>
|
<?import javafx.scene.layout.VBox?>
|
||||||
<?import javafx.scene.shape.Circle?>
|
<?import javafx.scene.shape.Circle?>
|
||||||
|
|
||||||
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="1080.0" prefWidth="1920.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ihm.controller.PlateauController">
|
<AnchorPane fx:id="rootPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="1080.0" prefWidth="1920.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ihm.controller.PlateauController">
|
||||||
<children>
|
<children>
|
||||||
<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="800.0" prefWidth="1280.0" styleClass="background" stylesheets="@style/plateau.css" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
|
<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="800.0" prefWidth="1280.0" styleClass="background" stylesheets="@style/plateau.css" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
|
||||||
<top>
|
<top>
|
||||||
|
@ -28,7 +28,7 @@ public class GestionnaireEquipements {
|
|||||||
this.j.addToStat(Joueur.PLAYER_NB_EQUIPEMENTS, -1);
|
this.j.addToStat(Joueur.PLAYER_NB_EQUIPEMENTS, -1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<Equipement> getEquipements() {
|
public List<Equipement> getEquipements() {
|
||||||
return equipements;
|
return equipements;
|
||||||
}
|
}
|
||||||
|
@ -14,8 +14,10 @@ public class GestionnaireJeu {
|
|||||||
|
|
||||||
private View view;
|
private View view;
|
||||||
|
|
||||||
private static Plateau plateau;
|
private Map<Integer, Joueur> mapJoueurs;
|
||||||
private static PlateauController pc;
|
|
||||||
|
private Plateau plateau;
|
||||||
|
private PlateauController pc;
|
||||||
|
|
||||||
private GestionnaireJeu() {}
|
private GestionnaireJeu() {}
|
||||||
|
|
||||||
@ -31,8 +33,8 @@ public class GestionnaireJeu {
|
|||||||
return plateau;
|
return plateau;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void lancerPartie() {
|
public void lancerPartie() {
|
||||||
plateau.jeu();
|
this.plateau.jeu();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void jouer(Configuration c) {
|
public void jouer(Configuration c) {
|
||||||
@ -72,25 +74,33 @@ public class GestionnaireJeu {
|
|||||||
pc.rollDice(joueur,typeDice,rolls);
|
pc.rollDice(joueur,typeDice,rolls);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void setConfiguration(Configuration c) {
|
public void setConfiguration(Configuration c) {
|
||||||
|
|
||||||
|
Map<Integer, Joueur> mapJoueurs = convertConfiguration(c);
|
||||||
|
this.mapJoueurs = mapJoueurs;
|
||||||
|
|
||||||
List<Joueur> joueurs = new ArrayList<Joueur>();
|
List<Joueur> joueurs = new ArrayList();
|
||||||
|
|
||||||
for(Joueur j : c.toJoueurs().values()) {
|
for(Joueur j : mapJoueurs.values()) {
|
||||||
joueurs.add(j);
|
joueurs.add(j);
|
||||||
}
|
}
|
||||||
|
|
||||||
plateau = new Plateau(joueurs);
|
this.plateau = new Plateau(joueurs);
|
||||||
}
|
|
||||||
|
|
||||||
public static Map<Integer, Joueur> getJoueursMap(Configuration c) {
|
|
||||||
return c.toJoueurs();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void setPlateauController(PlateauController pc2) {
|
public Map<Integer, Joueur> convertConfiguration(Configuration c) {
|
||||||
pc = pc2;
|
|
||||||
|
return c.toJoueurs();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Map<Integer, Joueur> getMapJoueurs() {
|
||||||
|
return this.mapJoueurs;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPlateauController(PlateauController pc2) {
|
||||||
|
this.pc = pc2;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user