Public Class Form1

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
        CmdNeu.Text = "&Neues Spiel"
        CmdBeenden.Text = "B&eenden"
        IniArrays()           '-- im modul
        BilderSchwarzWeiss()  '-- im modul
        LblInfo.Text = "Aiuf ein Bild um das Sortieren zu beginnen."
        Me.Text = "Bilder Puzzle"
    End Sub

    Private Sub CmdBeenden_Click(sender As Object, e As EventArgs) Handles CmdBeenden.Click
        Close()
    End Sub
    Private Sub KlickAuswerten(intPos As Integer, intNr As Integer)
        If intAnzahlKlick = 1 Then
            '-- werte dem zweidim array zuweisen 
            intPosNr(0, 0) = intPos : intPosNr(0, 1) = intNr
        Else
            intPosNr(1, 0) = intPos : intPosNr(1, 1) = intNr
            BilderSortieren()
        End If
    End Sub
    Private Sub BilderSortieren()
        ' erstes bild
        If (intPosNr(0, 1) - 6) = intPosNr(1, 0) Then
            ZeichneBilder(intPosNr(1, 0)).Image = BildNr(intPosNr(0, 1) - 6).Image
            ZeichneBilder(intPosNr(1, 0)).Tag = intPosNr(0, 1) - 6
        Else
            ZeichneBilder(intPosNr(1, 0)).Image = BildNr(intPosNr(0, 1)).Image
            ZeichneBilder(intPosNr(1, 0)).Tag = intPosNr(0, 1)
        End If
        ' zweites bild
        If (intPosNr(1, 1) - 6) = intPosNr(0, 0) Then
            ZeichneBilder(intPosNr(0, 0)).Image = BildNr(intPosNr(1, 1) - 6).Image
            ZeichneBilder(modPuzzle.intPosNr(0, 0)).tag = modPuzzle.intPosNr(1, 1) - 6
        Else
            ZeichneBilder(intPosNr(0, 0)).Image = BildNr(intPosNr(1, 1)).Image
            ZeichneBilder(intPosNr(0, 0)).Tag = intPosNr(1, 1)
        End If
        intAnzahlKlick = 0
        ProbeSpielBeendet()
    End Sub
    Private Sub ProbeSpielBeendet()
        Dim booEnde As Boolean = True
        For i = 0 To 5
            If ZeichneBilder(i).Tag <> i Then
                booEnde = False
            End If
        Next
        If booEnde Then
            CmdNeu.Enabled = True
            LblInfo.Text = "Alles richtig sortiert"
            MsgBox("Sie haben alle Elemente richtig soltiert")
            LblInfo.Text = "Klicke auf neues Spiel"
        End If
    End Sub
    Private Sub CmdNeu_Click(sender As Object, e As EventArgs) Handles CmdNeu.Click
        CmdNeu.Enabled = False
        BilderSchwarzWeiss()
        LblInfo.Text = "Ein Bildelement verschieben"
    End Sub

    Private Sub PictureBox0_Click(sender As Object, e As EventArgs) Handles PictureBox0.Click
        EinzelBildVerschieben(0, 0)
    End Sub
    Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
        EinzelBildVerschieben(1, 1)
    End Sub

    Private Sub PictureBox2_Click(sender As Object, e As EventArgs) Handles PictureBox2.Click
        EinzelBildVerschieben(2, 2)
    End Sub

    Private Sub PictureBox3_Click(sender As Object, e As EventArgs) Handles PictureBox3.Click
        EinzelBildVerschieben(3, 3)

    End Sub

    Private Sub PictureBox4_Click(sender As Object, e As EventArgs) Handles PictureBox4.Click
        EinzelBildVerschieben(4, 4)
    End Sub

    Private Sub PictureBox5_Click(sender As Object, e As EventArgs) Handles PictureBox5.Click
        EinzelBildVerschieben(5, 5)
    End Sub
    Private Sub EinzelBildVerschieben(intPos As Integer, intBild As Integer)
        Dim intNr As Integer
        If ZeichneBilder(intBild).Tag = intBild Then
            LblInfo.Text = "Das Bildelement entspricht bereits dem Original"
        Else
            intAnzahlKlick += 1
            intNr = ZeichneBilder(intBild).Tag   ' bildnummer
            KlickAuswerten(intPos, intNr)
            LblInfo.Text = "Das Bildelement verschieben"
        End If
    End Sub
End Class
