diff --git a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/.idea/misc.xml b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/.idea/misc.xml index a346fd7..5273917 100644 --- a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/.idea/misc.xml +++ b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/.idea/misc.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/Oie.iml b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/Oie.iml index 9d6237f..35103d4 100644 --- a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/Oie.iml +++ b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/Oie.iml @@ -8,6 +8,6 @@ - + \ No newline at end of file diff --git a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/data/Stub.class b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/data/Stub.class index 912a609..dac14c4 100644 Binary files a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/data/Stub.class and b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/data/Stub.class differ diff --git a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/fxml/Fenetre.fxml b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/fxml/Fenetre.fxml index 2d535f3..9e5f97e 100644 --- a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/fxml/Fenetre.fxml +++ b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/fxml/Fenetre.fxml @@ -1,9 +1,14 @@ - - + + - - - \ No newline at end of file + +
+ + +
+
diff --git a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/launcher/ConsoleGame.class b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/launcher/ConsoleGame.class index 004e269..2b3ba05 100644 Binary files a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/launcher/ConsoleGame.class and b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/launcher/ConsoleGame.class differ diff --git a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/launcher/GraphicGame.class b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/launcher/GraphicGame.class index 2c8ca73..124d30e 100644 Binary files a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/launcher/GraphicGame.class and b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/launcher/GraphicGame.class differ diff --git a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/managers/DeplaceurJoueur.class b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/managers/DeplaceurJoueur.class new file mode 100644 index 0000000..3cfd87b Binary files /dev/null and b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/managers/DeplaceurJoueur.class differ diff --git a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/managers/GestionnaireJoueur.class b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/managers/GestionnaireJoueur.class new file mode 100644 index 0000000..79c61a7 Binary files /dev/null and b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/managers/GestionnaireJoueur.class differ diff --git a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/models/Case.class b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/models/Case.class new file mode 100644 index 0000000..22a6837 Binary files /dev/null and b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/models/Case.class differ diff --git a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/models/De.class b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/models/De.class index 5ca5931..95a334a 100644 Binary files a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/models/De.class and b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/models/De.class differ diff --git a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/models/DeSimple.class b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/models/DeSimple.class index b1ee838..a8359e8 100644 Binary files a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/models/DeSimple.class and b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/models/DeSimple.class differ diff --git a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/models/GestionnaireJoueur.class b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/models/GestionnaireJoueur.class deleted file mode 100644 index a030c35..0000000 Binary files a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/models/GestionnaireJoueur.class and /dev/null differ diff --git a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/models/Jeu.class b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/models/Jeu.class index 241c934..dc777c1 100644 Binary files a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/models/Jeu.class and b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/models/Jeu.class differ diff --git a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/models/Joueur.class b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/models/Joueur.class index 477f06a..04051d9 100644 Binary files a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/models/Joueur.class and b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/models/Joueur.class differ diff --git a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/models/Plateau.class b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/models/Plateau.class index bdcddbb..3235690 100644 Binary files a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/models/Plateau.class and b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/models/Plateau.class differ diff --git a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/view/Fenetre.class b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/view/Fenetre.class index 1e8e05b..3575675 100644 Binary files a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/view/Fenetre.class and b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/out/production/Oie/view/Fenetre.class differ diff --git a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/res/fxml/Fenetre.fxml b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/res/fxml/Fenetre.fxml index 2d535f3..9e5f97e 100644 --- a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/res/fxml/Fenetre.fxml +++ b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/res/fxml/Fenetre.fxml @@ -1,9 +1,14 @@ - - + + - - - \ No newline at end of file + +
+ + +
+
diff --git a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/data/Stub.java b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/data/Stub.java index 473366f..f5960b0 100644 --- a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/data/Stub.java +++ b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/data/Stub.java @@ -6,9 +6,10 @@ import models.Plateau; public class Stub { public Jeu loadPions() { - Jeu game = new Jeu(5, 6); + Jeu game = new Jeu(6, 6); game.getMyAdminPlayer().ajouterJoueur(new Joueur("rouge")); game.getMyAdminPlayer().ajouterJoueur(new Joueur("bleu")); + game.getPlateau().placerJoueursSurCaseInitiale(game.getMyAdminPlayer().getLesJoueurs()); return game; } } diff --git a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/launcher/ConsoleGame.java b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/launcher/ConsoleGame.java index abaf5a3..89316cb 100644 --- a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/launcher/ConsoleGame.java +++ b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/launcher/ConsoleGame.java @@ -14,11 +14,12 @@ public class ConsoleGame { System.out.println("Changement de Joueur"); currentPlayer = game.getMyAdminPlayer().nextPlayer(); System.out.println(currentPlayer.toString()); - game.getMyAdminPlayer().getCurrentJoueur().setMyCase(game.getPlateau().getCaseList().get(0)); + System.out.println("Changement de Joueur"); + currentPlayer = game.getMyAdminPlayer().nextPlayer(); System.out.println(currentPlayer.toString()); + game.lancerDes(); System.out.println(game.getPlateau().toString()); - game.getMyAdminPlayer().getCurrentJoueur().setMyCase(game.getPlateau().getCaseList().get(0)); - System.out.println(currentPlayer.toString()); + game.lancerDes(); System.out.println(game.getPlateau().toString()); } } diff --git a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/launcher/GraphicGame.java b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/launcher/GraphicGame.java index d068c4d..bf16e81 100644 --- a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/launcher/GraphicGame.java +++ b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/launcher/GraphicGame.java @@ -15,4 +15,4 @@ public class GraphicGame extends Application { primaryStage.setScene(new Scene(root, 700, 500)); primaryStage.show(); } -} +} \ No newline at end of file diff --git a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/managers/DeplaceurJoueur.java b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/managers/DeplaceurJoueur.java new file mode 100644 index 0000000..f2a3106 --- /dev/null +++ b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/managers/DeplaceurJoueur.java @@ -0,0 +1,44 @@ +package managers; + +import models.Case; +import models.Joueur; +import models.Plateau; + +public class DeplaceurJoueur { + private boolean verifPresenceJoueur(Joueur currentJoueur, int valeurDe, Plateau plateau) { + int nextIndex = (currentJoueur.getMyCase().getIdCase() + valeurDe) % plateau.getCaseList().size(); + Case caseSuivante = plateau.getCaseList().get(nextIndex); + return caseSuivante.getCurrentJoueur() != null; + } + + private void alternerJoueurs(Joueur joueur1, Joueur joueur2) { + // Échanger les positions des joueurs + Case caseJoueur1 = joueur1.getMyCase(); + Case caseJoueur2 = joueur2.getMyCase(); + + caseJoueur1.setCurrentJoueur(joueur2); + caseJoueur2.setCurrentJoueur(joueur1); + + joueur1.setMyCase(caseJoueur2); + joueur2.setMyCase(caseJoueur1); + + System.out.println("Échange de positions entre le joueur " + joueur1.getIdJoueur() + " et le joueur " + joueur2.getIdJoueur()); + } + public void deplacerJoueur(Joueur currentJoueur, int nbCases, Plateau plateau) { + if (verifPresenceJoueur(currentJoueur, nbCases, plateau)) { + // La case suivante est occupée ou en dehors du plateau, alterner les joueurs ou prendre une action appropriée + alternerJoueurs(currentJoueur, currentJoueur); + } else { + int positionActuelle = currentJoueur.getMyCase().getIdCase(); + int nouvellePosition = (positionActuelle + nbCases) % plateau.getCaseList().size(); + + Case caseSuivante = plateau.getCaseList().get(nouvellePosition); + currentJoueur.getMyCase().setCurrentJoueur(null); + + caseSuivante.setCurrentJoueur(currentJoueur); + currentJoueur.setMyCase(caseSuivante); + + System.out.println("Le joueur " + currentJoueur.getIdJoueur() + " se déplace sur la case " + caseSuivante.getIdCase()); + } + } +} \ No newline at end of file diff --git a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/models/GestionnaireJoueur.java b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/managers/GestionnaireJoueur.java similarity index 58% rename from 2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/models/GestionnaireJoueur.java rename to 2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/managers/GestionnaireJoueur.java index 740c763..55ffc71 100644 --- a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/models/GestionnaireJoueur.java +++ b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/managers/GestionnaireJoueur.java @@ -1,4 +1,6 @@ -package models; +package managers; + +import models.Joueur; import java.util.ArrayList; import java.util.List; @@ -11,15 +13,15 @@ public class GestionnaireJoueur { return this.lesJoueurs; } public Joueur getCurrentJoueur() { - return this.lesJoueurs.get(currentIdJoueur); + return this.lesJoueurs.get(currentIdJoueur%lesJoueurs.size()); + } + public Joueur getJoueurSuivant() { + return this.lesJoueurs.get((currentIdJoueur+1) % lesJoueurs.size()); } public void ajouterJoueur(Joueur joueur) { lesJoueurs.add(joueur); } public Joueur nextPlayer() { - return lesJoueurs.get(++currentIdJoueur % lesJoueurs.size()); + return lesJoueurs.get((++currentIdJoueur) % lesJoueurs.size()); } -// public void next() { -// this.currentIdJoueur++; -// } } diff --git a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/models/Case.java b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/models/Case.java index 2d4f701..01614e1 100644 --- a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/models/Case.java +++ b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/models/Case.java @@ -1,15 +1,41 @@ package models; +import java.util.ArrayList; +import java.util.List; + public class Case { private int idCase; - private Joueur myJoueur = null; + private List myJoueur = new ArrayList<>(); public Case(int idCase) { this.idCase = idCase; } + public Joueur getCurrentJoueur() { + if (this.myJoueur.size() != 0) { + return this.myJoueur.get(0); + } + return null; + } + public void setCurrentJoueur(Joueur joueur) { + if(joueur != null) { + this.myJoueur.add(0, joueur); + } else { + this.myJoueur.remove(this.myJoueur.get(0)); + } + } + public int getIdCase() { + return this.idCase; + } + public void addFirstJoueur(Joueur joueur) { + if(this.getIdCase() == 0) { + this.myJoueur.add(joueur); + } else { + throw new RuntimeException(); + } + } @Override public String toString() { - if(myJoueur){ + if (this.myJoueur != null) { return this.idCase + " " + this.myJoueur.toString() + "\n"; } return this.idCase + " " + "\n"; diff --git a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/models/De.java b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/models/De.java index 30904f1..e65f2f6 100644 --- a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/models/De.java +++ b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/models/De.java @@ -9,11 +9,15 @@ public abstract class De { public De(int nbFaces) { this.nbFaces = nbFaces; } + public int getNbFaces() { + return nbFaces; + } public int getValeur() { return valeur; } public void setValeur(int valeur) { - this.valeur = RANDOM.nextInt(nbFaces) + 1; + this.valeur = valeur; } + public abstract int lancer(); } diff --git a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/models/DeSimple.java b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/models/DeSimple.java index 17b320b..09dca90 100644 --- a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/models/DeSimple.java +++ b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/models/DeSimple.java @@ -13,4 +13,7 @@ public class DeSimple extends De { public void setValeur(int valeur) { super.setValeur(valeur); } + public int lancer() { + return (RANDOM.nextInt(this.getNbFaces()) + 1); + } } diff --git a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/models/DeplaceurJoueur.java b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/models/DeplaceurJoueur.java deleted file mode 100644 index 172212b..0000000 --- a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/models/DeplaceurJoueur.java +++ /dev/null @@ -1,17 +0,0 @@ -//package models; -// -//public class DeplaceurJoueur { -// private boolean verifPresenceJoueur(Joueur currentJoueur, int valeurDe) { -// if((currentJoueur.getCurrentIdCase() + valeurDe )!= 0) { -// myPlateau.getCaseList().get(currentJoueur.getCurrentIdCase() - 1).setPresence(false); -// } -// return false; -// } -// private void alternerJoueurs(Joueur joueur1, Joueur joueur) { -// -// } -// public void avancerJoueur(Joueur currentJoueur, Plateau myPlateau) { -// currentJoueur.setCurrentIdCase(); -// myPlateau.getCaseList().get(currentJoueur.getCurrentIdCase()-1).setPresence(true); -// } -//} diff --git a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/models/Jeu.java b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/models/Jeu.java index e18b2c1..f5ad103 100644 --- a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/models/Jeu.java +++ b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/models/Jeu.java @@ -1,13 +1,13 @@ package models; -import java.util.ArrayList; -import java.util.List; +import managers.DeplaceurJoueur; +import managers.GestionnaireJoueur; public class Jeu { private Plateau myPlateau; private De myDe; private GestionnaireJoueur myAdminPlayer = new GestionnaireJoueur(); -// private DeplaceurJoueur myMovePlayer = new DeplaceurJoueur(); + private DeplaceurJoueur myMovePlayer = new DeplaceurJoueur(); public Jeu(int nbCases, int nbFaces) { myPlateau = new Plateau(nbCases); myDe = new DeSimple(nbFaces); @@ -19,24 +19,13 @@ public class Jeu { public GestionnaireJoueur getMyAdminPlayer() { return myAdminPlayer; } - // public List getPionsList() { -// return this.pionsList; -// } -// public Joueur getCurrentPion() { -// return pionsList.get(currentPionId); -// } -// public Joueur changePion() { -// return pionsList.get(++currentPionId % pionsList.size()); -// } -// public void avancerPion() { -// Joueur currentPion = pionsList.get(currentPionId); -// if(currentPion.getCurrentIdCase() != 0) { -// this.myPlateau.getCaseList().get(currentPion.getCurrentIdCase() - 1).setPresence(false); -// } -// currentPion.setCurrentIdCase(); -// this.myPlateau.getCaseList().get(currentPion.getCurrentIdCase()-1).setPresence(true); -// } -// public void addPion(Joueur pion) { -// pionsList.add(pion); -// } + public DeplaceurJoueur getMyMovePlayer() { + return myMovePlayer; + } + public void lancerDes() { + Joueur joueurCourant = this.myAdminPlayer.getCurrentJoueur(); + int resDe = this.myDe.lancer(); + this.myMovePlayer.deplacerJoueur(joueurCourant, resDe, this.myPlateau); + this.myAdminPlayer.nextPlayer(); + } } diff --git a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/models/Joueur.java b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/models/Joueur.java index 34dfd95..90da574 100644 --- a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/models/Joueur.java +++ b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/models/Joueur.java @@ -1,22 +1,36 @@ package models; public class Joueur { + private static int count = 0; + + private int idJoueur; private String color; private Case myCase = null; + public Joueur(String myColor) { + this.idJoueur = ++count; this.color = myColor; } + + public int getIdJoueur() { + return idJoueur; + } + public String getColor() { return color; } + public Case getMyCase() { return this.myCase; } + public void setMyCase(Case myCase) { this.myCase = myCase; } + @Override public String toString() { - return "Je suis le Joueur de couleur " + this.color + " et je suis sur la case " + this.myCase.getClass(); + return "Je suis le Joueur " + idJoueur + " de couleur " + this.color + " et je suis sur la case " + this.myCase.getIdCase(); } } + diff --git a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/models/Plateau.java b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/models/Plateau.java index b818b57..0c348ca 100644 --- a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/models/Plateau.java +++ b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/models/Plateau.java @@ -6,13 +6,22 @@ import java.util.List; public class Plateau { private List CaseList = new ArrayList<>(); public Plateau(int nbCase) { - for(int i = 1; i <= nbCase; ++i) { + for(int i = 0; i <= nbCase; ++i) { CaseList.add(new Case(i)); } } public List getCaseList() { return this.CaseList; } + public void placerJoueursSurCaseInitiale(List joueurs) { + for (Joueur joueur : joueurs) { + Case caseInitiale = getCaseList().get(0); + joueur.setMyCase(caseInitiale); + if (caseInitiale != null) { + caseInitiale.addFirstJoueur(joueur); + } + } + } @Override public String toString() { diff --git a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/view/Fenetre.java b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/view/Fenetre.java index 1db859b..f4097b7 100644 --- a/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/view/Fenetre.java +++ b/2A/Java/tp/JavaFX/tpJeuDeL_oie/Oie/src/view/Fenetre.java @@ -4,18 +4,43 @@ import data.Stub; import javafx.fxml.FXML; import javafx.scene.control.Button; import javafx.scene.layout.BorderPane; +import javafx.scene.layout.VBox; import models.Jeu; import models.Joueur; + public class Fenetre { -// @FXML -// private BorderPane myBorderPane = new BorderPane(); -// private final Jeu game = new Stub().loadPions(); -// Joueur currentPion = game.getCurrentPion(); -// -// public void initialize() { -// for(int i = 0; i < game.getPlateau().getCaseList().size(); i++) { -// myBorderPane.setCenter(new Button().setText("hello")); -// } -// } + @FXML + private BorderPane myBorderPane = new BorderPane(); + @FXML + private VBox buttonContainer; + 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); + + if (game.getPlateau().getCaseList().get(i).getCurrentJoueur() != null) { + button.setText("Case " + (i + 1) + "\n" + "Joueur: " + game.getPlateau().getCaseList().get(i).getCurrentJoueur().getIdJoueur()); + } else { + button.setText("Case " + (i + 1)); + } + } + } + @FXML + private void onButtonRollClicked() { + game.lancerDes(); + updateButtonLabels(); + } + public void initialize() { + for (int i = 0; i < game.getPlateau().getCaseList().size(); i++) { + Button button = new Button(); + if (game.getPlateau().getCaseList().get(i).getCurrentJoueur() != null) { + button.setText("Case " + i + "\n" + "Joueur: " + game.getPlateau().getCaseList().get(i).getCurrentJoueur().getIdJoueur()); + } else { + button.setText("Case " + i); + } + buttonContainer.getChildren().add(button); + } + } }