Laden...

Speichern eines (Manager)Spiels

Erstellt von Coffeebean vor 12 Jahren Letzter Beitrag vor 12 Jahren 1.520 Views
Coffeebean Themenstarter:in
2.207 Beiträge seit 2011
vor 12 Jahren
Speichern eines (Manager)Spiels

verwendetes Datenbanksystem: MSSQL CE 2008

Hallo zusammen,

ich würde gern als Programmierübung und WPF für mich privat eine Art Spiel implementieren. Dies soll ein Managerspiel a la "Weltfussball" werden. (Wers kennt, weiss wovon ich rede).

Ich plane derzeit, mache mir Gedanken. Jedoch weiss ich nicht, wie ich das Abspeichern realisieren kann, hierbei gehts allgemein darum: Speichert ein Spieler ein Spiel ab und lädt es neu, wäre ja XML eine Möglichkeit. Ich speicher das Spiel (mittels Serialisierung o.ä.) ab und lese es danach wieder ein. Wie läuft das dann gegen die Datenbank? Muss ich nach dem abspeichern die Datenbank auf den alten Zustand setzen, damit ein neues Spiel gestartet werden kann? Und beim Laden alles updaten auf den aktuellen Spielstand? Ist das die Best Practice?

Über Anregungen würde ich mich freuen.

Gruss

Coffeebean

C
2.121 Beiträge seit 2010
vor 12 Jahren

Wie läuft das dann gegen die Datenbank?

Was bedeutet das?
Und was meinst du mit "Datenbank auf alten Zustand setzen"?

Was genau ist deine Frage? Du musst halt den Spielstand so abspeichern, dass alles relevante drin ist und du ihn in ein neu gestartetes Spiel wieder komplett reinladen kannst.
Ob du das in eine DB schreibst oder eine Datei, ist dabei egal.

Coffeebean Themenstarter:in
2.207 Beiträge seit 2011
vor 12 Jahren

Wie läuft das dann gegen die Datenbank?
Was bedeutet das?
Und was meinst du mit "Datenbank auf alten Zustand setzen"?

Was genau ist deine Frage?

Hallo chilic,

danke für deine Antwort. Ja, genau das meinte ich.

Ein Spieler kann ja zB. den Verein wechseln. Beim Spielstart ist er bei Verein A, im Spielverlauf bei Verein B. Beim Abspeichern soll dieser Stand nun festgehalten werden. Beim Starten eines neuen Spiels soll der Spieler jedoch wieder bei Verein A sein.

Ich wollte jetzt nur wissen, ob es da eine gängige Praxis gibt, wie man solch ein Problem löst.

Ob du das in eine DB schreibst oder eine Datei, ist dabei egal.

Im Falle der DB müsste man quasi Kopien der Tabellen anlegen. Eine für den Ursprungszustand und eine für den laufenden Zustand, in die die nötigen Einstellungen beim laden geladen werden könnten. Dann gehe ich das mal so an.

Danke

Gruss

Coffeebean

D
615 Beiträge seit 2009
vor 12 Jahren

Hallo Coffeebean

Im Falle der DB müsste man quasi Kopien der Tabellen anlegen. Eine für den Ursprungszustand und eine für den laufenden Zustand, in die die nötigen Einstellungen beim laden geladen werden könnten. Dann gehe ich das mal so an.

Oder du hast User - Spielstände (1:N)

(Theoretisch kannst du auch das XML in die DB speichern ....)

Beste Grüsse

Diräkt

Coffeebean Themenstarter:in
2.207 Beiträge seit 2011
vor 12 Jahren

Oder du hast User - Spielstände (1:N)

Richtig, nur dass "Spielstände" in dem Fall mehr ist als ein Spielergebnis, oder eine Spielergebnistabelle, sondern eine recht grosse Anzahl von Werten, die gespeichert und wiederhergestellt werden müssten. Eine UserTabelle aus der man Spielstände laden kann und dann müssten alle Einstellungen, Spieler, Ergebnisse etc. wieder geladen werden. Über mehrere Tabellen. Oder verstehe ich dich falsch?

Gruss

Coffeebean

D
615 Beiträge seit 2009
vor 12 Jahren

Hallo Coffeebean

Ich kenne "Weltfussball" nicht, und auch die genauen Anforderungen nicht.

Grundsätzlich wäre das eine Lösung. Eine weitere Lösung wäre, einfach das serialisierte XML in eine User_Spielstand Tabelle abzulegen. Damit sparst du Dir die Arbeit, ein DB Modell zu erstellen / pflegen. (suchen, filtern, ..... ist ja keine Anforderungen wie ich es verstehe)

Beste Grüsse

Diräkt

H
6 Beiträge seit 2012
vor 12 Jahren

Ich denke mal das würde auch über speichern und auslesen von Textdatein gehen.