bonjour j'ai une liste de domino (jeu de plateu)
Je voudrais utiliser un sprite pour le déplacemente des dominos à l'aide de la souris.
J'aurrai pu utiliser le drag and drop mais j'aurrai préférer utiliser le sprite pour la gestion de ses collisions.
Ma question serait : comment je pourrais faire pour associer ma liste de domino à une class sprite pour qu'il renvoi directement mes images sur mon plateau.
voici mes class :
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 package domino; import java.awt.Image; import javax.swing.ImageIcon; import java.lang.Object; /*********************************************************** *Definition d'un domino * **********************************************************/ import java.awt.Image; import javax.swing.ImageIcon; import java.lang.Object.*; /*********************************************************** *Definition d'un domino * **********************************************************/ public class Domino implements Cloneable { int a; int b; ImageIcon image; public Domino ( int fa, int fb) { a = fa; b=fb; image=new ImageIcon ("C:\\image\\"+a+b+".jpg"); } public Object clone() throws CloneNotSupportedException { return new Domino(a,b); } public int geta (){ return a; } public int getb (){ return b; } public Image getImage(){ return image.getImage(); } void retourne() { int d = b; b = a; a = d; } }
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132 package domino; /* * partie graphique du déroulement du jeu * */ import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.ImageIcon; import javax.swing.JLabel; import javax.swing.JPanel; public class Tapis extends JPanel { private static ImageIcon[] dominoJouee= new ImageIcon[3];; private static ImageIcon[] dominoSud = new ImageIcon[7]; static String gagnant = new String(""); private ImageIcon dominoV,tapisdomino; JLabel essai; private Joueur[] lesjoueurs; JLabel nombre[] = new JLabel[7]; int reponse = -1; int totalEstOuest = 0; int totalNordSud = 0; Tapis(Joueur[] joueurs) { lesjoueurs = joueurs; dominoV = new ImageIcon("C:\\image\\00.jpg"); tapisdomino = new ImageIcon("C:\\image\\Tapis.gif"); essai=new JLabel(dominoV); setLayout(null); } // ============================================== // Initialise le plateau public void affiche() { int v=0; while (dominoJouee[v]!=null) { dominoJouee[v] = new ImageIcon(""); v++; } } // ========================================== // affiche carte jouee public void afficheJoue(Domino y, int u, int a, int b) { System.out.println("C:\\image\\"+a+b+".jpg"); dominoJouee[u] = new ImageIcon("C:\\image\\"+a+b+".jpg"); repaint(); } public void efface() { int v=0; while (dominoJouee[v]!=null) { dominoJouee[v] = new ImageIcon(""); v++; } repaint(); } int getReponse() { return reponse; } // @Override public void paintComponent(Graphics g) { super.paintComponent(g); // jeux joueur sud int nb = 0; int posx = 125; int posy = 550; g.drawImage(tapisdomino.getImage(), 0, 0, null); nb = lesjoueurs[0].main.size(); for (int v = 0; v < nb; v++) { Domino ledomino =(Domino)lesjoueurs[0].main.get(v); if (ledomino!=null){ g.drawImage(ledomino.getImage(), posx,posy, null); posx = posx + 50; } } // jeux joueur est posx = 580; posy = 125; nb = lesjoueurs[1].main.size(); for (int v = 0; v < nb; v++) { g.drawImage(dominoV.getImage(), posx, posy, null); posy = posy + 50; } // jeux joueur ouest posx = 5; posy = 125; nb = lesjoueurs[3].main.size(); for (int v = 0; v < nb; v++) { g.drawImage(dominoV.getImage(), posx, posy, null); posy = posy + 50; } // affiche tableau resultat } void setReponse(int lareponse) { reponse = lareponse; } }
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 package domino; /* * constitution du jeu de domino */ import java.util.ArrayList; import java.lang.Object; public class Liste{ // public class BoiteDomino implements Cloneable ArrayList lejeu = new ArrayList(); ArrayList lesDominos = new ArrayList(28); Liste() { lejeu.add(new Domino(0,0));//double 0 lejeu.add(new Domino(0,1)); lejeu.add(new Domino(0,2)); lejeu.add(new Domino(0,3)); lejeu.add(new Domino(0,4)); lejeu.add(new Domino(0,5)); lejeu.add(new Domino(0,6)); lejeu.add(new Domino(1,1)); // double 1 lejeu.add(new Domino(1,2)); lejeu.add(new Domino(1,3)); lejeu.add(new Domino(1,4)); lejeu.add(new Domino(1,5)); lejeu.add(new Domino(1,6)); lejeu.add(new Domino(2,2)); //Double 2 lejeu.add(new Domino(2,3)); lejeu.add(new Domino(2,4)); lejeu.add(new Domino(2,5)); lejeu.add(new Domino(2,6)); lejeu.add(new Domino(3,3)); // double 3 lejeu.add(new Domino(3,4)); lejeu.add(new Domino(3,5)); lejeu.add(new Domino(3,6)); lejeu.add(new Domino(4,4)); // double 4 lejeu.add(new Domino(4,5)); lejeu.add(new Domino(4,6)); lejeu.add(new Domino(5,5)); //double 5 lejeu.add(new Domino(5,6)); lejeu.add(new Domino(6,6)); // double 6 } void bat() { int numero = 0; for (int i = 28; i > 0; i--) { numero = (int) (Math.random() * i); lesDominos.add((lejeu.get(numero))); lejeu.remove(numero);} } void distribue(Joueur joueur, int nb) { for (int i = 0; i < nb; i++) { joueur.main.add(lesDominos.get(0)); lesDominos.remove(0); } } }
Partager