Public Class Form1

    Private Tipp As New ToolTip

    Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles Me.KeyDown
        If e.KeyCode = 112 Then
            ZeigeSpielAnleitung()
        End If
    End Sub
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
        ' array für alle spielsteine
        AlleSteine.Add(Pic0) : AlleSteine.Add(Pic1) : AlleSteine.Add(Pic2)
        AlleSteine.Add(Pic3) : AlleSteine.Add(Pic4) : AlleSteine.Add(Pic5)
        AlleSteine.Add(Pic6) : AlleSteine.Add(Pic7) : AlleSteine.Add(Pic8)
        ' schaltflächen und text
        CmdBeenden.Text = "B&eenden" : CmdNeuesSpiel.Text = "&Neues Spiel"
        LblInfo.Text = "Klicke auf >Neues Spiel<" & vbCrLf & "um das Spiel zu beginnen!"
        LblA.Text = "0"
        ' tooltip
        Tipp.AutoPopDelay = 5000 : Tipp.InitialDelay = 1000 : Tipp.ReshowDelay = 500
        Tipp.IsBalloon = True : Tipp.ShowAlways = False
        Tipp.SetToolTip(CmdBeenden, "Das Spiel beenden") : Tipp.SetToolTip(CmdNeuesSpiel, "Das Schiebespiel beginnen")
        Tipp.SetToolTip(picAnleitung, "Klicken um die Spielanteitung im PDF-Format zu öffnen") : Tipp.SetToolTip(LblA, "Anzahl der Schiebebewegungen")
    End Sub

    Private Sub CmdNeuesSpiel_Click(sender As Object, e As EventArgs) Handles CmdNeuesSpiel.Click
        StarteSpiel()
    End Sub
    Private Sub StarteSpiel()
        intVersuche = 0
        booGesperrt = False
        CmdNeuesSpiel.Enabled = False : MnuSpielNeues.Enabled = False
        LegePositionenFest()
    End Sub
    Private Sub CmdBeenden_Click(sender As Object, e As EventArgs) Handles CmdBeenden.Click
        BeendeDasSpiel()
    End Sub
    Private Sub BeendeDasSpiel()
        Dim strMeldung As String = "Bist Du sicher," _
            & vbCrLf & "dass Du das Spiel beenden möchtest?"
        Dim strTitel As String = "Spiel beenden"
        Dim buttons As MessageBoxButtons = MessageBoxButtons.YesNo
        Dim DefaultButton As MessageBoxDefaultButton = MessageBoxDefaultButton.Button2
        Dim Icon As MessageBoxIcon = MessageBoxIcon.Question
        Dim intResultat As DialogResult
        Try
            My.Computer.Audio.PlaySystemSound(
                             System.Media.SystemSounds.Question)
        Catch ex As Exception
            ' keine aktion
        End Try

        intResultat = MessageBox.Show(strMeldung, strTitel, buttons, Icon, DefaultButton)
        '-- reaktion
        If (intResultat = DialogResult.Yes) Then
            Close()
        End If
    End Sub
    Private Sub ZeigeSpielAnleitung()
        Try
            Process.Start(System.IO.Path.Combine(Application.StartupPath, "schiebespiel.pdf"))
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub
    Private Sub Pic1_Click(sender As Object, e As EventArgs) Handles Pic1.Click
        If Not booGesperrt Then
            SchiebeDenSteinInPosition(1)
        End If
    End Sub
    Private Sub Pic2_Click(sender As Object, e As EventArgs) Handles Pic2.Click
        If Not booGesperrt Then SchiebeDenSteinInPosition(2)
    End Sub

    Private Sub Pic3_Click(sender As Object, e As EventArgs) Handles Pic3.Click
        If Not booGesperrt Then SchiebeDenSteinInPosition(3)
    End Sub

    Private Sub Pic4_Click(sender As Object, e As EventArgs) Handles Pic4.Click
        If Not booGesperrt Then SchiebeDenSteinInPosition(4)
    End Sub

    Private Sub Pic5_Click(sender As Object, e As EventArgs) Handles Pic5.Click
        If Not booGesperrt Then SchiebeDenSteinInPosition(5)
    End Sub

    Private Sub Pic6_Click(sender As Object, e As EventArgs) Handles Pic6.Click
        If Not booGesperrt Then SchiebeDenSteinInPosition(6)

    End Sub

    Private Sub Pic7_Click(sender As Object, e As EventArgs) Handles Pic7.Click
        If Not booGesperrt Then SchiebeDenSteinInPosition(7)

    End Sub

    Private Sub Pic8_Click(sender As Object, e As EventArgs) Handles Pic8.Click
        If Not booGesperrt Then SchiebeDenSteinInPosition(8)

    End Sub

    Private Sub MnuSpielNeues_Click(sender As Object, e As EventArgs) Handles MnuSpielNeues.Click
        StarteSpiel()
    End Sub

    Private Sub MnuInfoSpielanleitung_Click(sender As Object, e As EventArgs) Handles MnuInfoSpielanleitung.Click
        ZeigeSpielAnleitung()
    End Sub

    Private Sub MnuSpielBeenden_Click(sender As Object, e As EventArgs) Handles MnuSpielBeenden.Click
        BeendeDasSpiel()
    End Sub

    Private Sub PicAnleitung_Click(sender As Object, e As EventArgs) Handles picAnleitung.Click
        ZeigeSpielAnleitung()
    End Sub
End Class
