ciao, ragazzi mi sto esercitando con i primi esempi che mi da vb10
sto facendo il memory
sembra funzionare tutto bene però c'è una cosa strana che succede
una delle label che nascondono le lettere da visualizzare rimane vuota(apparentemente)
In realtà l'immagine c'è come nelle altre però nn posso associarla all'altra immagine che trovo se nn come ultima scelta.

Tutte le altre caselle funzionano e quella vuota solo per ultimo

mi fate capire cosa succede e perchè?
(io ho pensato al random.next che parte dalla prima posizione e salta la pos 0) o forse no.

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