Bonjour , J'aimerai faire un jeu de plateau et je me retrouve confronté à un problème
Dans un premier temps j'aimerai que l'utilisateur puisse cliquer sur un pion, puis cliquer sur un point sur l'écran et qu'il voit le pion se déplacer de sa position initiale au point choisit !
Mes problemes :
-comment savoir quel pion a été selectionné , j'ai voulu essayé avec des getSource() mais je n'y suis pas arrivé
-Quand le pion se deplace, il apparait directement à sa position final !
(surement un probleme de rafraichissement mais si j'essai de mettre un timer dans ma boucle for le thread s'arrete ne raffraichit donc pas !
ma fonction de deplacement:
ma class Gpion
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 private void mouve(int orix,int oriy,int destx,int desty,int gpid){ /*gpid estl'id du pion*/ float coeff=(float)(desty-(oriy+25))/(float)(destx-(orix+25)); /*Pour le deplacement je considere une fonction linéaire donc je calcul le coeff directeur*/ if(desty<oriy) coeff=coeff*-1; if(orix<destx) for(int i=orix;i<destx;i++) { pipi[gpid].setX(i); pipi[gpid].setY((int)(coeff*i)); System.out.println("x:"+pipi[gpid].getX()+"y:"+pipi[gpid].getY()); repaint(); } else for(int i=orix;destx<i;i--) { pipi[gpid].setX(i); pipi[gpid].setY((int)(coeff*i)); System.out.println("x:"+pipi[gpid].getX()+"y:"+pipi[gpid].getY()); repaint(); } }
Merci d'avance !!!
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 public class Gpion implements MouseListener{ public Image im=Toolkit.getDefaultToolkit().getImage("repos.png"); public int x,y; /** Creates a new instance of Gpion */ public Gpion() { this.im=Toolkit.getDefaultToolkit().getImage("repos.png"); } public Gpion(int a,int b) { this.x=a; this.y=b; this.im=Toolkit.getDefaultToolkit().getImage("repos.png"); } public int getX(){ return this.x; } public int getY(){ return this.y; } public void setX(int a){ x=a; } public void setY(int a){ y=a; } public Image getIm(){ return Toolkit.getDefaultToolkit().getImage("repos.png"); } public void setIm(Image i){ im=i; } public void mouseClicked(MouseEvent e) { System.out.println(e.getSource()); } }
Partager