Laden...

Highscore mit C# erstellen, abspeichern und sortiert darstellen

Erstellt von codedoc vor 5 Jahren Letzter Beitrag vor 5 Jahren 1.813 Views
C
codedoc Themenstarter:in
2 Beiträge seit 2019
vor 5 Jahren
Highscore mit C# erstellen, abspeichern und sortiert darstellen

Hallo zusammen,

ich habe ein kleines Spiel mit Windows Forms entwickelt, Ping Pong.
Wenn man den Ball verliert, poppt ein Fenster mit Textbox auf, in das man seinen Namen schreiben kann. Drückt man auf OK, wird Name und Highscore in eine Textdatei geschrieben.

Im Hauptmenü gibt es ein Button, der dann die Bestenliste aufruft, dabei wird mit dem StreamReader die Textdatei ausgelesen, in der Name und Score zuletzt abgespeichert wurden.

Nun will ich, dass der StreamReader nur bestimmte Daten aus dem Textfile liest (name und Highscore) und geordnet von höchstem highscore bis zum niedrigsten auflistet, in einer Listbox - natürlich mit dazugehörigem Namen
Außerdem möchte ich dann, das der beste Highscore Platz eins bekommt und soweiter (Platz1, Platz2...)

Wie stelle ich das an? Leider kann ich nur mit Windows Forms arbeiten und lerne in der Beruffschule zu wenig um einen Weg zu finden das zu bewerkstelligen.

lvl15 crook

1.029 Beiträge seit 2010
vor 5 Jahren

Hi,

ich glaube du hast hier einen nicht ganz so schlauen Ansatz mit Textdatei pro Datensatz.
(Wahnsinnig ineffektiv, sofern dein Spiel jemals ernsthaft benutzt würde und einige Dateien zusammenkommen)

Was hindert dich denn daran alle Datensätze in einer Datei abzuspeichern?
(Hier solltest du dich auch mal dringend in folgende Themen einlesen:
a) XML
b) JSON
c) Serialisierung
-> Das wird dir potenziell extrem viel Code sparen)

Praktisch musst du ohnehin alle Datensätze lesen, sortieren, und dann die besten rauspicken und anzeigen - es sei denn du speicherst diese in einer Datei jeweils vorsortiert...

Falls du da auf bestimmte Probleme triffst - am besten einen neuen Thread erstellen.

LG

5.657 Beiträge seit 2006
vor 5 Jahren

Es sind mehrere Probleme, die man einzeln und unabhängig voneinander angehen und lösen kann:

  • Daten schreiben
  • Daten lesen
  • Daten sortieren
  • Daten anzeigen

Zu jedem Punkt wirst du jede Menge Anleitungen im Netz oder hier im Forum finden, nur halt nicht in der von dir beschriebenen, speziellen Kombination.

Weeks of programming can save you hours of planning

M
368 Beiträge seit 2006
vor 5 Jahren

Die Menge an Daten in der Datei für die Highscore könnte man auch auf z.B. 40 Einträge limitieren. Ein Array lässt sich mittels der Sort-Methode bearbeiten (ascending/descending): https://www.dotnetperls.com/array-sort

Goalkicker.com // DNC Magazine for .NET Developers // .NET Blogs zum Folgen
Software is like cathedrals: first we build them, then we pray 😉

C
codedoc Themenstarter:in
2 Beiträge seit 2019
vor 5 Jahren

Danke für die Antworten 🙂

Ich werde mich mal einlesen.

lvl15 crook