Hi Leute,
ich versuche gerade ein einfaches Kartenspiel umzusetzen und würde gerne wissen, ob meine Gedanken zum Aufbau grundsätzlich in die richtige Richtung gehen. Denn ich komme aus der prozedualen Welt und bin mit dem Konzept der obejektorientierten Programmierung noch nicht warm.
Also:
Ich kann die Spielkarten sehr gut in 3 Kategorien einteilen, die alle etwas völlig unterschiedliches machen und darstellen (Personenkarten, Aktionskarten, Sonderkarten).
Also dachte ich mir, dass ich eine Mutterklasse Karte erstelle (abstract?) und jede der Kartenkategorien wird eine eigene Unter-Klasse. Der Grund dafür ist, weil ich die Orte, an denen sich die Karten im Spielverlauf nur befinden können (Ziehstapel, Ablagestapel, HandSpieler[n], AuslagejeweiligerSpieler[n]) als Arraylist des Typs Karte verwalte. Karten-Objekte erstelle ich ja keine, aber alle gehören (erben) ja zum Typ Karte.
Ist das zu kompliziert gedacht? ich könnte natürlich auch nur 1 Klasse Karte machen und die Kategorie ist einfach ein Attribut der Klasse Karte.
Bin offen für Vorschläge, Erklärungen, Tipps und hoffe ich verstehe es.
ich versuche gerade ein einfaches Kartenspiel umzusetzen und würde gerne wissen, ob meine Gedanken zum Aufbau grundsätzlich in die richtige Richtung gehen. Denn ich komme aus der prozedualen Welt und bin mit dem Konzept der obejektorientierten Programmierung noch nicht warm.
Also:
Ich kann die Spielkarten sehr gut in 3 Kategorien einteilen, die alle etwas völlig unterschiedliches machen und darstellen (Personenkarten, Aktionskarten, Sonderkarten).
Also dachte ich mir, dass ich eine Mutterklasse Karte erstelle (abstract?) und jede der Kartenkategorien wird eine eigene Unter-Klasse. Der Grund dafür ist, weil ich die Orte, an denen sich die Karten im Spielverlauf nur befinden können (Ziehstapel, Ablagestapel, HandSpieler[n], AuslagejeweiligerSpieler[n]) als Arraylist des Typs Karte verwalte. Karten-Objekte erstelle ich ja keine, aber alle gehören (erben) ja zum Typ Karte.
Ist das zu kompliziert gedacht? ich könnte natürlich auch nur 1 Klasse Karte machen und die Kategorie ist einfach ein Attribut der Klasse Karte.
Bin offen für Vorschläge, Erklärungen, Tipps und hoffe ich verstehe es.