Module modWuerfeln
    Public intAugenZahlen(5) As Integer     ' augenzahlen der 5 würfel
    Public BildNr As New ArrayList          ' bildernummer der würfel
    Public ZeichneWuerfel As New ArrayList  ' zuordnung der bilder
    Public booWuerfelAktiv(10) As Boolean   ' True würfel befindet sich im becher
    Public booWurfelGesperrt As Boolean = True  ' würfel können nicht verschoben werden
    Private intRandom As New Random         ' zufallsgenerator

    '------------------------------------------
    Public Sub NeuWuerfeln()
        Dim i As Integer     ' schleifenlaufparame
        For i = 1 To 5       ' zufallszahl zuweisen
            If booWuerfelAktiv(i) Then
                intAugenZahlen(i) = intRandom.Next(1, 7)
            End If
            ZurueckSetzen(i).Visible = False
        Next
        ZurueckSetzen(6).Visible = False
    End Sub
    Public Sub ErgebnisAuswerten()
        Dim i As Integer
        Dim intSumme(6) As Integer
        booWurfelGesperrt = True     '-- neu 24
        For i = 1 To 6
            'SummenAnzeigen(i).Text = "0"
            If Not booAusgewaehlteSumme(i) Then SummenAnzeigen(i).Text = "0"
        Next
        For i = 1 To 5        '-- summen ermitteln      
            Select Case intAugenZahlen(i)
                Case 1
                    intSumme(1) += 1
                Case 2
                    intSumme(2) += 2
                Case 3
                    intSumme(3) += 3
                Case 4
                    intSumme(4) += 4
                Case 5
                    intSumme(5) += 5
                Case 6
                    intSumme(6) += 6
            End Select
        Next
        '------------------ bonus vergeben ?
        Dim booBonus As Boolean = True
        Dim intBonus As Integer = 20
        For i = 2 To 5
            If intAugenZahlen(1) <> intAugenZahlen(i) Then booBonus = False
        Next
        If booBonus Then SummenAnzeigen(7).Text = (Convert.ToInt32(SummenAnzeigen(7).Text) + intBonus).ToString       
        '------------------ bonus zugewiesen
        For i = 1 To 6
            If Not booAusgewaehlteSumme(i) Then
                SummenAnzeigen(i).Text = intSumme(i).ToString
            End If
            If Not booAusgewaehlteSumme(i) Then Ausgewaehlt(i).Enabled = True
        Next
        If booBonus Then
            Try
                My.Computer.Audio.Play("TADA.WAV", AudioPlayMode.Background)
            Catch ex As Exception
            End Try
            frmTransparent.ShowDialog()
        End If
    End Sub

    Public Sub SpielIstBeendet()
        MessageBox.Show("Das Spiel ist beendet!", "Summen würfeln")
        With Form1
            .LblInfo.Text = "Klicke auf >Neues Spiel<" & vbCrLf & "um zu beginnen."
            .CmdNeuesSpiel.Visible = True : .CmdNeuesSpiel.Enabled = True
            .CmdNeuesSpiel.Focus() : .CmdWuerfeln.Enabled = False
        End With
    End Sub
    Public Sub StarteNeuesSpiel()
        Dim i As Integer
        intAnzahlGewuerfelt = 0
        For i = 1 To 6           
            ZurueckSetzen(i).Visible = False
            SummenAnzeigen(i).Text = "0"
            booAusgewaehlteSumme(i) = False
        Next
        SummenAnzeigen(7).Text = "0"
        For i = 1 To 10
            If i <= 5 Then
                ZeichneWuerfel(i).Image = BildNr(0).Image
                booWuerfelAktiv(i) = True
            Else
                ZeichneWuerfel(i).Image = Nothing
                booWuerfelAktiv(i) = False
            End If
        Next
        With Form1
            .LblSumme.Text = "0"
            .LblInfo.Text = "Klicke auf >Neues Spiel<" & vbCrLf & "um zu beginnen."
            .CmdNeuesSpiel.Visible = True : .CmdNeuesSpiel.Focus()
            .CmdWuerfeln.Enabled = False
        End With
    End Sub
End Module
