Bonjour/Bonsoir,
Je suis débutant en Java et JavaFX d'autant plus, j'ai voulu m’entraîner un petit peux en essayant de crée un jeu de "morpion". Le probléme c'est que je suis un peux bloquer sur comment finir la partie...
Voici mon code pour le moment:
Pour le moment ca fonctionne quand je clique ca change les boutons selon le tour X ou O. Ce que je voudrais maintenant c'est terminer la parti c'est à dire si la partie est nul ou gagné.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 @Override public void start(Stage stage) throws Exception { //Creation des composants Label playerName = new Label("Turn: X"); BorderPane mainPane = new BorderPane(); GridPane grille = new GridPane(); //ajout des boutons sur le GridPane + création des boutons for (int i = 1; i<=3; i++){ for (int j = 1 ; j<=3; j++){ Button xoButton = new Button(" "); xoButton.setFont(Font.font("Monospaced", 40)); grille.add(xoButton, i,j); //Comportement des boutons xoButton.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent actionEvent) { String[] splitter = playerName.getText().split(" "); String player = splitter[1]; if(!xoButton.getText().equals(" ")){ return; }if(player.equals("X")){ xoButton.setText("X"); playerName.setText("Turn: O"); }if(player.equals("O")){ xoButton.setText("O"); playerName.setText("Turn: X"); } } }); } } mainPane.setTop(playerName); mainPane.setCenter(grille); Scene scene = new Scene(mainPane); stage.setScene(scene); stage.show(); }
Cependant je n'arrive pas à avoir accés aux .getText() de chacun des boutons sur la GridPane.
exemple: Si les bouton.getText() sur la grille position 0,1, et 0,2 et 0,3 sont égaux c'est gagné pour le joueur(X ou O)...
J'ai cherché sur google je n'ai absolument rien compris et encore moins comment je pourrais l'intégrer sur mon code. Alors soit il y a une solution simple, soit je m'y prend comme un manche et il aurait fallu que je m'y prenne autrement plutôt que sur un GridPane...
Je fais donc appel à vous(sans me donner la solution pas A+B) un petit/gros indice ou des conseils sur comment je pourrais faire pour que mon programme puisse fonctionner.
Merci à vous pour vos futurs réponses :)