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.
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