vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Highscore 
Autor: TB-Master
Datum: 01.05.03 20:58

Hallo,

ich verzweifel jetzt wierklich an dieser blöden highscore.
Hier mal der source:
Sub editscore(ename As String, epoints As Integer, ejoker As Integer)
Dim paht As String
Dim zeile As String
Dim gesammt As String
Dim eingetragen As Boolean
Dim durchlauf As Integer
 
 
path = App.path & "\temp\highscore.qiz"
eingetragen = False
 
Close
 
Open path For Input As #1
    Do Until durchlauf = 10
        Line Input #1, zeile
        eintrag = Split(zeile, "#")
         If epoints < eintrag(1) Or eingetragen = True Then
            gesammt = gesammt & zeile & vbNewLine
         Else
            If eingetragen = False Then
                gesammt = gesammt & ename & "#" & epoints & "#" & ejoker & "#" _
                  & vbNewLine & zeile
                eingetragen = True
            End If
         End If
        durchlauf = durchlauf + 1
    Loop
Close #1
 
Open path For Output As #2
    Print #2, gesammt;
Close #2
 
End Sub
irgendwo ist da ein Denkfehler. ich zerbrech mir jetzt schon ewig den Kopf darüber aber ich finde keine Lösung.

Ich will mal probieren das Problem zu schildern, wobei das gar nicht so einfach ist.
Also ich bin nun auf dem ersten platz. Jetzt kommt ein ein nächster, der eine höhere punktzahl hat. Somit ist er auf dem ersten platz und ich auf dem zweiten. So wie es sein sollte. Jetzt kommt aber das Problem, wenn kommt nun wieder ein anderer auf den ersten platz somit wird der, der nun auf dem dritten sein müsste gelöscht, der rest funktionert wieder.
Sind allerdings 2 Plätze belegt, und es überbietet jemand den zweiten somit wird der zweite, auf den 3ten platz gesetzt. So wie es sein sollte.
Es funktionert also immer nur, wenn der neuzugang auf dem zweiletzten platz kommt somit wird ein neuer platz angelegt. Kommt er auf den ersten oder irgendwo zwischendrin, wird einer gelöscht.

Ich hoffe es ist einigermaßen verständlich. Ansonsten probiert den Code aus.

Würde mich freuen wenn mir einer des Rätels lösung sagen könnte, ich verzweifel daran noch.

Gruß Toni
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Highscore90TB-Master01.05.03 20:58
Re: Highscore54.:Solaris:.01.05.03 21:09
Re: Highscore40TB-Master01.05.03 21:37
Re: Highscore240.:Solaris:.01.05.03 21:57

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel