codice:
Public Class memory
Dim random As New Random
Dim temporaryArray() As String = {"!", "!", "N", "N", ",", ",", "k", "k", "a", "a", "b", "b", "c", "c", "d", "d", _
"e", "e", "f", "f", "g", "g", "h", "h", "i", "i", "l", "l", "m", "m", "n", "n", _
"o", "o", "p", "p", "q", "q", "r", "r", "s", "s", "t", "t", "u", "u", "v", "v", _
"z", "z", "A", "A", "B", "B", "C", "C", "D", "D", "E", "E", "F", "F", "G", "G", _
"H", "H", "I", "I", "L", "L", "M", "M", "O", "O", "P", "P", "Q", "Q", "R", "R", _
"S", "S", "T", "T", "U", "U", "V", "V", "Z", "Z", "x", "x", "Y", "Y", "j", "j", _
"K", "K", " J", "J", "3", "3"}
Dim icons As List(Of String) = temporaryArray.ToList()
Dim firstClicked As Label = Nothing
Dim secondClicked As Label = Nothing
Private Sub AssignIconsToSquares()
For Each control In TableLayoutPanel1.Controls
Dim iconLabel As Label = TryCast(control, Label)
If iconLabel IsNot Nothing Then
Dim randomNumber As Integer = random.Next(icons.Count)
iconLabel.Text = icons.ElementAt(randomNumber)
iconLabel.ForeColor = iconLabel.BackColor
icons.RemoveAt(randomNumber)
End If
Next
End Sub
Public Sub New()
InitializeComponent()
AssignIconsToSquares()
End Sub
Private Sub label_click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label99.Click, Label98.Click,
Label97.Click, Label96.Click, Label95.Click, Label94.Click, Label93.Click, Label92.Click, Label91.Click, Label90.Click,
Label9.Click, Label89.Click, Label88.Click, Label87.Click, Label86.Click, Label85.Click, Label84.Click, Label83.Click,
Label82.Click, Label81.Click, Label80.Click, Label8.Click, Label79.Click, Label78.Click, Label77.Click, Label76.Click,
Label75.Click, Label74.Click, Label73.Click, Label72.Click, Label71.Click, Label70.Click, Label7.Click, Label69.Click,
Label68.Click, Label67.Click, Label66.Click, Label65.Click, Label64.Click, Label63.Click, Label62.Click, Label61.Click,
Label60.Click, Label6.Click, Label59.Click, Label58.Click, Label57.Click, Label56.Click, Label55.Click, Label54.Click,
Label53.Click, Label52.Click, Label51.Click, Label50.Click, Label5.Click, Label49.Click, Label48.Click, Label47.Click,
Label46.Click, Label45.Click, Label44.Click, Label43.Click, Label42.Click, Label41.Click, Label40.Click, Label4.Click,
Label39.Click, Label38.Click, Label37.Click, Label36.Click, Label35.Click, Label34.Click, Label33.Click, Label32.Click,
Label31.Click, Label30.Click, Label3.Click, Label29.Click, Label28.Click, Label27.Click, Label26.Click, Label25.Click,
Label24.Click, Label23.Click, Label22.Click, Label21.Click, Label20.Click, Label2.Click, Label19.Click, Label18.Click,
Label17.Click, Label16.Click, Label15.Click, Label14.Click, Label13.Click, Label12.Click, Label11.Click, Label100.Click,
Label10.Click, Label1.Click
If (Timer1.Enabled = True) Then
Return
End If
Dim clickedLabel As Label = TryCast(sender, Label)
If clickedLabel IsNot Nothing Then
If (clickedLabel.ForeColor = Color.White) Then
Return
End If
If (firstClicked Is Nothing) Then
firstClicked = clickedLabel
firstClicked.ForeColor = Color.White
Return
End If
secondClicked = clickedLabel
secondClicked.ForeColor = Color.White
CheckForWinner()
If (firstClicked.Text = secondClicked.Text) Then
firstClicked = Nothing
secondClicked = Nothing
Return
End If
Timer1.Start()
End If
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Timer1.Stop()
firstClicked.ForeColor = firstClicked.BackColor
secondClicked.ForeColor = secondClicked.BackColor
firstClicked = Nothing
secondClicked = Nothing
End Sub
Private Sub CheckForWinner()
For Each control In TableLayoutPanel1.Controls
Dim iconLabel As Label = TryCast(control, Label)
If iconLabel IsNot Nothing Then
If (iconLabel.ForeColor = iconLabel.BackColor) Then
Return
End If
End If
Next
MessageBox.Show("Gioco Completato!", "Congratulazioni")
Close()
End Sub
End Class