Récupérer méthode (Mouselistener)
Bonjour, je me présente a vous aujourd'hui car je suis bloquer, j'ai un jeu a programmer (actuellement en DUT info) de type jeu de dame , mais a un endroit je bloque. J'aimerai pouvoir déplacer mes pions mais je ne trouve aucune solution, quand je clique j'arrive bien a récupérer les informations mais aucune idée de comment procédé je vous mes mon code :
Class Plateau.java
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 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 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
|
public class Plateau extends JPanel {
Piece[][] plateau;
int couleur = 0, form = 0;
boolean form_change = true, form_change2 = true, form_change3=true;
int x, y;
public Plateau() {
GridLayout g = new GridLayout(8, 8);
this.setLayout(g);
plateau = new Piece[8][8];
for (int i = 0; i < plateau.length; i++) {
for (int j = 0; j < plateau[i].length; j++) {
Piece p = new Piece();
if (i < 2) {
if (form_change2 == true) {
if (form_change) {
p.pieceRond(i, j);
form_change = false;
} else {
form_change = true;
p.pieceCarre(i, j);
}
} else {
if (form_change) {
p.pieceCarre(i, j);
form_change = false;
} else {
form_change = true;
p.pieceRond(i, j);
}
}
} else if (i >= 6) {
if (form_change3 == true) {
if (form_change) {
p.pieceRond(i, j);
form_change = false;
} else {
form_change = true;
p.pieceCarre(i, j);
}
} else {
if (form_change) {
p.pieceCarre(i, j);
form_change = false;
} else {
form_change = true;
p.pieceRond(i, j);
}
}
} else {
p.pieceVide(couleur, i, j);
}
plateau[i][j] = p;
this.add(plateau[i][j].getPiece());
plateau[i][j].getPiece().addMouseListener(new MouseListener() {
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseEntered(MouseEvent e) {
}
@Override
public void mouseClicked(MouseEvent e) {
}
});
couleur++;
}
form_change2 = false;
if (i == 6) {
form_change3 = false;
}
couleur++;
}
}
public String getCoord(Piece p) {
return p.getCoord();
}
public static void main(String[] args) {
JFrame f = new JFrame("Jeu du Yaka");
Plateau t = new Plateau();
f.getContentPane().add(t);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.pack();
f.setSize(800, 800);
f.setVisible(true);
}
} |
Class Piece.java
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 43 44 45 46 47 48 49 50 51 52 53
|
public class Piece {
JButton piece;
boolean rond = false, carre = false;
int coord_x, coord_y;
public Piece() {
piece = new JButton();
}
public void pieceVide(int i, int x, int y) {
if (i % 2 == 0) {
piece.setName("White");
piece.setBackground(Color.white);
this.coord_x = x;
this.coord_y = y;
} else {
piece.setName("Black");
piece.setBackground(Color.getHSBColor(51, 153, 153));
this.coord_x = x;
this.coord_y = y;
}
}
public void pieceRond(int x, int y) {
ImageIcon img = new ImageIcon(getClass().getResource("/image/rond.png"));
piece = new JButton(img);
piece.setName("rond");
piece.setBackground(Color.white);
rond = true;
this.coord_x = x;
this.coord_y = y;
}
public void pieceCarre(int x, int y) {
ImageIcon img = new ImageIcon(getClass().getResource("/image/carre.png"));
piece = new JButton(img);
piece.setName("carre");
piece.setBackground(Color.getHSBColor(51, 153, 153));
carre = true;
this.coord_x = x;
this.coord_y = y;
}
public JButton getPiece() {
return piece;
}
public String getCoord() {
return "[" + coord_x + "]" + "[" + coord_y + "]";
}
} |