Nick Auer: Softwareprojekt

Beitrag lesen

Hey!

Also erst mal danke an alle für die vielen Antworten zu später Stunde.

Habe in einem Projekt einmal solche Datenstrukturen wie Array List verwendet und bin damit mächtig auf den Mund gefallen. Deswegen wohl meine Vorliebe zur DB. Vielleicht wäre es besser, die Frage noch offen zu lassen. Aber eher zu einer Datenstruktur zu tendieren.

Wenn ich das jetzt richtig verstanden habe, wäre eine gute Lösung die folgende. Wird ein Spiel gestartet, erzeugt der Server zu diesem Spiel eine art Manager-Objekt. Aktuelle Spielstände, angemeldete Benutzer... kann das Objekt zur Verügung stellen. Für jede Instanz des Spiels wird auch ein neues Objekt erzeugt. Die Speicherung der Daten kann in einer DB erfolgen oder vorzugsweise über eine geeignete Datenstrukur. Aber beim Verwenden des Manager-Objekts sollte man davon sowieso nix merken.

Der Server und der Client kommunizierne über RMI mit einander. Beispielsweise bei einer Anfrage des Clienst GetNextCard(). Der Server leitet dann die Anfrage zum jeweiligen Objekt (Manager-Objekt weiter).

Vom Gefühl her würde ich sagen, machen wir den Server recht schlank. Sprich die Grafikdarstellungen, die einzelnen Bildchen der Karten... lagern wir komplett in das Spiel aus, welches auf dem Client läuft. Der Client erhält Karten vom Server, zeigt diese an, gibt Karten zurück, stellt Anfragen, erhält Antworten oder Anweidungen...

Das selbe macht die KI, nur ohne eine UI oder irgend eine grafische Darstellung.

LG