Bonjour,

Alors déjà je me présente, je suis en formation développeur web et web mobile, mais j'essaie d'aller plus loin que la formation en cherchant à gérer les interfaces graphiques des exercices qu'ils nous font faire en console...

Résultat, me voilà à découvrir le JavaFX, afin de donner vie à mon jeu d'échecs, cependant, me voilà face à mon premier problème :

J'ai choisis de mettre en place un GridPane pour créer mon échiquier, et je place mes pièces dessus sans problème, cependant, je ne sais pas si j'ai bien fait de choisir un GridPane, car je ne sais pas s'il est possible de déplacer mes pièces d'une "case" à une autre...

Voici donc mon code pour ma classe Echiquier pour le moment, si quelqu'un pouvait m'éclairer, ce serait grandement apprécié

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
 
package entites;
 
import echecs_javafx.outils.Case;
import entites.pieces.*;
import javafx.scene.Parent;
import javafx.scene.layout.GridPane;
import javafx.geometry.HPos;
import javafx.scene.layout.ColumnConstraints;
import javafx.scene.paint.Color;
 
 
public class Echiquier extends Parent {
 
    public Echiquier() {
        GridPane gridpane = new GridPane();
        for (int i = 0; i < 8; i++) {
            for (int j = 0; j < 8; j++) {
                if ((i + j) % 2 == 0) {
                    gridpane.add(new CaseNoire(), i, j);
                } else {
                    gridpane.add(new CaseBlanche(), i, j);
                }
            }
        }
        for (int i = 0; i < 8; i++) {
            for (int j = 0; j < 8; j++) {
                if (i == 0) {
                   switch (j) {
                        case 0:
                            gridpane.add(new Tour(Color.BLACK, new Case(i,j)), i, j);
                            break;   
                        case 1 :
                            gridpane.add(new Cavalier(Color.BLACK, new Case(i,j)), i, j);
                            break;  
                        case 2 :
                            Fou fn1 = new Fou(Color.BLACK, new Case(i,j));
                            gridpane.add(fn1, i, j);
                            break;      
                        case 3 :
                            gridpane.add(new Reine(Color.BLACK, new Case(i,j)), i, j);
                            break;  
                        case 4 :
                            gridpane.add(new Roi(Color.BLACK, new Case(i,j)), i, j);
                            break;  
                        case 5 :
                            gridpane.add(new Fou(Color.BLACK, new Case(i,j)), i, j);
                            break;  
                        case 6 :
                            gridpane.add(new Cavalier(Color.BLACK, new Case(i,j)), i, j);
                            break;   
                        case 7 :
                            gridpane.add(new Tour(Color.BLACK, new Case(i,j)), i, j);
                            break;
                    }
                } if (i==1) {
                    gridpane.add(new Pion(Color.BLACK, new Case(i,j)), i, j);
                } if (i == 6) {
                    gridpane.add(new Pion(Color.WHITE, new Case(i,j)), i, j);
                } if (i == 7) {
                    switch (j) {
                       case 0:
                            gridpane.add(new Tour(Color.WHITE, new Case(i,j)), i, j);
                            break;  
                        case 1 :
                            gridpane.add(new Cavalier(Color.WHITE, new Case(i,j)), i, j);
                            break;
                        case 2 :
                            gridpane.add(new Fou(Color.WHITE, new Case(i,j)), i, j);
                            break;
                        case 3 :
                            gridpane.add(new Roi(Color.WHITE, new Case(i,j)), i, j);
                            break;
                        case 4 :         
                            gridpane.add(new Reine(Color.WHITE, new Case(i,j)), i, j);
                            break;
                        case 5 :
                            gridpane.add(new Fou(Color.WHITE, new Case(i,j)), i, j);
                            break;
                        case 6 :
                            Cavalier cb2 = new Cavalier(Color.WHITE, new Case(i,j));
                            gridpane.add(cb2, i, j);
                            break;
                        case 7 :
                            Tour tb2 = new Tour(Color.WHITE, new Case(i,j));
                            gridpane.add(tb2, i, j);
                            break;
                    }
                }
            }
        }
        ColumnConstraints column1 = new ColumnConstraints();
column1.setHalignment(HPos.RIGHT);
    this.getChildren().add(gridpane);
 
 
    }
 
}