Module modBesteSpieler
    ' wichtig!!
    ' mit diesem modul muss frmBesteSpieler als form im projekt enthalten sein
    ' weiteres modul modDateiBeste
    Public NameSpieler As New ArrayList     '## die zuweisungen erfolgen in der Form1
    Public BesteWerte As New ArrayList      '## die zuweisungen erfolgen in der Form1
    Public intKeinsterWert As Integer       ' letzter Eintrag der liste lstPunkte in frmBesteSpieler zuweisen
    Public intGesamtergebnis As Integer = 0 ' ergebnis am ende des spiels zuweisen
    Public booNurAnsehen As Boolean = True  ' nicht speichern

    Public Sub iniArrays()
        ' aufruf aus Form1_load
        With frmBesteSpieler
            NameSpieler.Add(.txtSpieler0) : NameSpieler.Add(.txtSpieler1) : NameSpieler.Add(.txtSpieler2) : NameSpieler.Add(.txtSpieler3) : NameSpieler.Add(.txtSpieler4)
            BesteWerte.Add(.lbl0) : BesteWerte.Add(.lbl1) : BesteWerte.Add(.lbl2) : BesteWerte.Add(.lbl3) : BesteWerte.Add(.lbl4)
        End With
    End Sub
    Public Sub ZeigeBesteSpielerDialog()                              '---------- aufruf im menü und/oder schaltfläche Form1
        With frmBesteSpieler
            Dim i As Integer
            For i = 0 To 4
                NameSpieler(i).Text = .lstNamen.Items(i)
                BesteWerte(i).Text = .lstPunkte.Items(i)
                NameSpieler(i).Enabled = False
            Next
            .lblInfo.Text = "Klicke auf OK" & vbCrLf &
                "um das Fenster zu schließen."
            .cmdLoeschen.Enabled = False
            .ShowDialog()
        End With
    End Sub
    Public Sub BestenSpielerEinsortieren()         '
        Dim intVerGleich As Integer
        Dim intPosEintrag As Integer
        Dim booSortieren As Boolean = False
        With frmBesteSpieler
            For i = 0 To 4
                intVerGleich = Convert.ToInt32(.lstPunkte.Items(i))
                NameSpieler(i).Text = .lstNamen.Items(i)
                BesteWerte(i).Text = .lstPunkte.Items(i)
                '-- einträge werden hinter dem eintrag des spielers einsortiert
                If booSortieren = True Then
                    NameSpieler(i).Text = .lstNamen.Items(i - 1)
                    BesteWerte(i).Text = .lstPunkte.Items(i - 1)
                End If
                ' der neu eintrag für den spieler
                If intGesamtergebnis > intVerGleich And booSortieren = False Then
                    NameSpieler(i).Text = "Spieler"
                    BesteWerte(i).Text = intGesamtergebnis.ToString
                    intPosEintrag = i
                    booSortieren = True
                End If
            Next
            For i = 0 To 4
                NameSpieler(i).Enabled = False  ' alle sperren
            Next
            .lblInfo.Text = "Gib deinen Namen im" & vbCrLf & "markierten Feld ein." _
                & vbCrLf & "Klicke danach auf >OK<."
            NameSpieler(intPosEintrag).Enabled = True  ' eingabemöglichkeit
            NameSpieler(intPosEintrag).Select()        ' eintrag auswählen 
            .ShowDialog()
        End With
    End Sub
End Module
