Bonjour à tous,
Voila je suis débutant et j'ai entrepris de réaliser un jeu de mémoire. Mon problème et d'écrire un algorithme qui contrôlera les cases des tableaux:
il faudrait que lorsque je clique une première fois, puis une seconde fois et que quand les deux cases soit de la même couleurs , ces deux cases restent activent et quand les couleurs ne sont pas pareils que les cases se désactives. Après plusieurs jours de recherchent je n'arrive pas à avancer.
Merci à vous.
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
Public Class Form1
Dim tableau1(5, 5) As Button
Dim tableau2(5, 5) As Button
Dim i As Integer
Dim j As Integer
 
 
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.Size = New Size(700, 600)
 
For i As Integer = 0 To 5
For j As Integer = 0 To 5
tableau1(i, j) = New Button
tableau1(i, j).Visible = True
Me.Controls.Add(tableau1(i, j))
 
tableau1(i, j).Tag = i.ToString + ";" + j.ToString
 
AddHandler tableau1(i, j).Click, AddressOf tableau_Click
 
tableau1(i, j).Top = i * 100
tableau1(i, j).Left = j * 100
tableau1(i, j).Width = 90
tableau1(i, j).Height = 90
tableau1(i, j).BackColor = Color.Transparent
Next
Next
 
For i As Integer = 0 To 5
For j As Integer = 0 To 5
 
tableau2(i, j) = New Button
 
tableau2(i, j).Visible = True
Me.Controls.Add(tableau2(i, j))
 
tableau2(i, j).Top = i * 100
tableau2(i, j).Left = j * 100
tableau2(i, j).Width = 90
tableau2(i, j).Height = 90
 
 
Next
Next
tableau2(0, 0).BackColor = Color.Yellow
tableau2(0, 1).BackColor = Color.Yellow
tableau2(0, 2).BackColor = Color.DarkBlue
tableau2(0, 3).BackColor = Color.DarkBlue
tableau2(0, 4).BackColor = Color.AliceBlue
tableau2(1, 0).BackColor = Color.DarkMagenta
tableau2(1, 1).BackColor = Color.DarkMagenta
tableau2(1, 2).BackColor = Color.Indigo
tableau2(1, 3).BackColor = Color.Indigo
tableau2(1, 4).BackColor = Color.AliceBlue
tableau2(1, 5).BackColor = Color.DarkTurquoise
tableau2(2, 0).BackColor = Color.Maroon
tableau2(2, 1).BackColor = Color.Maroon
tableau2(2, 2).BackColor = Color.Orange
tableau2(2, 3).BackColor = Color.Orange
tableau2(2, 4).BackColor = Color.Azure
tableau2(2, 5).BackColor = Color.DarkSeaGreen
tableau2(3, 0).BackColor = Color.Black
tableau2(3, 1).BackColor = Color.Black
tableau2(3, 2).BackColor = Color.Turquoise
tableau2(3, 3).BackColor = Color.Turquoise
tableau2(3, 4).BackColor = Color.Azure
tableau2(3, 5).BackColor = Color.DarkTurquoise
tableau2(4, 0).BackColor = Color.Beige
tableau2(4, 1).BackColor = Color.Beige
tableau2(4, 2).BackColor = Color.BlanchedAlmond
tableau2(4, 3).BackColor = Color.BlanchedAlmond
tableau2(4, 4).BackColor = Color.DarkTurquoise
tableau2(4, 5).BackColor = Color.AliceBlue
tableau2(5, 0).BackColor = Color.DarkSalmon
tableau2(5, 1).BackColor = Color.DarkSalmon
tableau2(5, 2).BackColor = Color.DeepSkyBlue
tableau2(5, 3).BackColor = Color.DeepSkyBlue
tableau2(5, 4).BackColor = Color.Goldenrod
tableau2(5, 5).BackColor = Color.Goldenrod
 
For i As Integer = 0 To 5
For j As Integer = 0 To 5
Randomize()
Dim value1 As Integer = CInt(Int((6 * Rnd())))
Dim value2 As Integer = CInt(Int((6 * Rnd())))
 
Dim button1 As Color = tableau2(i, j).BackColor
tableau2(i, j).BackColor = tableau2(value1, value2).BackColor
tableau2(value1, value2).BackColor = button1
 
Next
Next
 
End Sub
Private Sub tableau_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Dim coord() As String
 
coord = Split(sender.tag, ";")
 
i = CType(coord(0), Integer)
j = CType(coord(1), Integer)
 
 
'Debug.WriteLine("Touche activée" )
 
If tableau1(i, j).BackColor.Equals(Color.Transparent) Then
 
tableau1(i, j).Visible = False
End If
 
End Sub
 
Private Sub JOUER_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles JOUER.Click
For i As Integer = 0 To 5
For j As Integer = 0 To 5
Randomize()
Dim value1 As Integer = CInt(Int((6 * Rnd())))
Dim value2 As Integer = CInt(Int((6 * Rnd())))
 
Dim button1 As Color = tableau2(i, j).BackColor
tableau2(i, j).BackColor = tableau2(value1, value2).BackColor
tableau2(value1, value2).BackColor = button1
 
Next
Next
 
End Sub
End Class