update java's tp

master
antoine.perederii 1 year ago
parent 383cfb5963
commit e0a82abdb6

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="18" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_18" default="true" project-jdk-name="18" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

@ -8,6 +8,6 @@
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="lib21" level="application" />
<orderEntry type="library" name="lib" level="application" />
</component>
</module>

@ -1,14 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.ListView?>
<?import javafx.scene.layout.BorderPane?>
<?import javafx.scene.layout.VBox?>
<BorderPane fx:id="myBorderPane" style="-fx-background-color: #ecf0f1;" xmlns="http://javafx.com/javafx/17.0.2-ea" xmlns:fx="http://javafx.com/fxml/1" fx:controller="view.Fenetre">
<center>
<VBox fx:id="buttonContainer" BorderPane.alignment="CENTER">
<?import javafx.scene.control.TextField?>
<BorderPane fx:id="myBorderPane" style="-fx-background-color: #ecf0f1;" xmlns="http://javafx.com/javafx/18" xmlns:fx="http://javafx.com/fxml/1" fx:controller="view.Fenetre">
<bottom>
<Button fx:id="rollDice" alignment="CENTER" mnemonicParsing="false" onAction="#onButtonRollClicked" style="-fx-background-color: #2ecc71;" text="RollDice" />
</bottom>
<right>
<VBox fx:id="labelContainer" BorderPane.alignment="CENTER">
<!-- Les boutons seront ajoutés ici dynamiquement -->
<Button fx:id="rollDice" mnemonicParsing="false" onAction="#onButtonRollClicked" style="-fx-background-color: #2ecc71;" text="RollDice" alignment="CENTER" />
</VBox>
</center>
</right>
<left>
<BorderPane prefHeight="200.0" prefWidth="200.0" BorderPane.alignment="CENTER">
<center>
<ListView fx:id="joueursContainer" prefHeight="200.0" prefWidth="200.0" BorderPane.alignment="CENTER" />
</center>
<bottom>
<TextField fx:id="joueur"></TextField>
</bottom>
</BorderPane>
</left>
</BorderPane>

@ -1,14 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.ListView?>
<?import javafx.scene.layout.BorderPane?>
<?import javafx.scene.layout.VBox?>
<BorderPane fx:id="myBorderPane" style="-fx-background-color: #ecf0f1;" xmlns="http://javafx.com/javafx/17.0.2-ea" xmlns:fx="http://javafx.com/fxml/1" fx:controller="view.Fenetre">
<center>
<VBox fx:id="buttonContainer" BorderPane.alignment="CENTER">
<?import javafx.scene.control.TextField?>
<BorderPane fx:id="myBorderPane" style="-fx-background-color: #ecf0f1;" xmlns="http://javafx.com/javafx/18" xmlns:fx="http://javafx.com/fxml/1" fx:controller="view.Fenetre">
<bottom>
<Button fx:id="rollDice" alignment="CENTER" mnemonicParsing="false" onAction="#onButtonRollClicked" style="-fx-background-color: #2ecc71;" text="RollDice" />
</bottom>
<right>
<VBox fx:id="labelContainer" BorderPane.alignment="CENTER">
<!-- Les boutons seront ajoutés ici dynamiquement -->
<Button fx:id="rollDice" mnemonicParsing="false" onAction="#onButtonRollClicked" style="-fx-background-color: #2ecc71;" text="RollDice" alignment="CENTER" />
</VBox>
</center>
</right>
<left>
<BorderPane prefHeight="200.0" prefWidth="200.0" BorderPane.alignment="CENTER">
<center>
<ListView fx:id="joueursContainer" prefHeight="200.0" prefWidth="200.0" BorderPane.alignment="CENTER" />
</center>
<bottom>
<TextField fx:id="joueur"></TextField>
</bottom>
</BorderPane>
</left>
</BorderPane>

@ -6,7 +6,7 @@ import models.Plateau;
public class Stub {
public Jeu loadPions() {
Jeu game = new Jeu(6, 6);
Jeu game = new Jeu(10, 6);
game.getMyAdminPlayer().ajouterJoueur(new Joueur("rouge"));
game.getMyAdminPlayer().ajouterJoueur(new Joueur("bleu"));
game.getPlateau().placerJoueursSurCaseInitiale(game.getMyAdminPlayer().getLesJoueurs());

@ -1,27 +1,55 @@
package managers;
import javafx.beans.Observable;
import javafx.beans.property.*;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import models.Joueur;
import java.util.ArrayList;
import java.util.List;
public class GestionnaireJoueur {
private int currentIdJoueur = 0;
private List<Joueur> lesJoueurs = new ArrayList<>();
private ObservableList<Joueur> myList = FXCollections.observableArrayList();
private ListProperty<Joueur> lesJoueurs = new SimpleListProperty(myList);
public ObservableList<Joueur> getLesJoueurs() {
return lesJoueurs.get();
}
public ListProperty<Joueur> lesJoueursProperty() {
return lesJoueurs;
}
private ObjectProperty<Joueur> currentJoueur = new SimpleObjectProperty();
public Joueur getCurrentJoueur() {
return currentJoueur.get();
}
public ObjectProperty<Joueur> currentJoueurProperty() {
return currentJoueur;
}
public void setCurrentJoueur(Joueur joueur) {
currentJoueur.set(joueur);
}
// private List<Joueur> lesJoueurs = new ArrayList<>();
// private StringProperty name = new SimpleStringProperty();
// public String getName() { return name.get(); }
// public StringProperty nameProperty() { return name; }
// private void setName(String name) { this.name.set(name); }
public List<Joueur> getLesJoueurs() {
return this.lesJoueurs;
}
public Joueur getCurrentJoueur() {
return this.lesJoueurs.get(currentIdJoueur%lesJoueurs.size());
}
// public List<Joueur> getLesJoueurs() {
// return this.lesJoueurs;
// }
// public Joueur getCurrentJoueur() {
// return currentJoueur;
// }
public Joueur getJoueurSuivant() {
return this.lesJoueurs.get((currentIdJoueur+1) % lesJoueurs.size());
return this.myList.get((currentJoueur.get().getIdJoueur() + 1) % lesJoueurs.size());
}
public void ajouterJoueur(Joueur joueur) {
lesJoueurs.add(joueur);
myList.add(joueur);
if(myList.size() == 1) {
currentJoueur.set(myList.get(0));
}
}
public Joueur nextPlayer() {
return lesJoueurs.get((++currentIdJoueur) % lesJoueurs.size());
return myList.get((currentJoueur.get().getIdJoueur() + 1) % lesJoueurs.size());
}
}

@ -3,6 +3,9 @@ package view;
import data.Stub;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.control.ListView;
import javafx.scene.control.TextField;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.VBox;
import models.Jeu;
@ -13,17 +16,19 @@ public class Fenetre {
@FXML
private BorderPane myBorderPane = new BorderPane();
@FXML
private VBox buttonContainer;
private VBox labelContainer;
@FXML
private ListView joueursContainer = new ListView();
private final Jeu game = new Stub().loadPions();
Joueur currentPion = game.getMyAdminPlayer().getCurrentJoueur();
public void updateButtonLabels() {
for (int i = 0; i < game.getPlateau().getCaseList().size(); i++) {
Button button = (Button) buttonContainer.getChildren().get(i);
for (int i = 1; i < game.getPlateau().getCaseList().size(); i++) {
Label label = (Label) labelContainer.getChildren().get(i);
if (game.getPlateau().getCaseList().get(i).getCurrentJoueur() != null) {
button.setText("Case " + (i + 1) + "\n" + "Joueur: " + game.getPlateau().getCaseList().get(i).getCurrentJoueur().getIdJoueur());
label.setText("Case " + (i) + "\n" + "Joueur: " + game.getPlateau().getCaseList().get(i).getCurrentJoueur().getIdJoueur());
} else {
button.setText("Case " + (i + 1));
label.setText("Case " + (i));
}
}
}
@ -34,13 +39,15 @@ public class Fenetre {
}
public void initialize() {
for (int i = 0; i < game.getPlateau().getCaseList().size(); i++) {
Button button = new Button();
Label label = new Label();
if (game.getPlateau().getCaseList().get(i).getCurrentJoueur() != null) {
button.setText("Case " + i + "\n" + "Joueur: " + game.getPlateau().getCaseList().get(i).getCurrentJoueur().getIdJoueur());
label.setText("Case " + i + "\n" + "Joueur: " + game.getPlateau().getCaseList().get(i).getCurrentJoueur().getIdJoueur());
} else {
button.setText("Case " + i);
label.setText("Case " + i);
}
buttonContainer.getChildren().add(button);
labelContainer.getChildren().add(label);
}
joueursContainer.itemsProperty().bind(game.getMyAdminPlayer().lesJoueursProperty());
// joueursContainer.selectionModelProperty().bind(game.getMyAdminPlayer().currentJoueurProperty());
}
}

Loading…
Cancel
Save