Welche Art von Designmustern und Ideen könnte man verwenden, um ein allgemeines Kartenspiel-Framework zu erstellen?
Dies ist darauf zurückzuführen, dass ich versucht habe, einen Klon des beliebten Steve Jackson-Spiels "Munchkin" zu erstellen. Aufgrund der Natur dieses Spiels musste ich nicht mehr so viele Kartenfunktionen hart codieren, dass die Entwicklung chaotisch und übertrieben wurde. Ich wollte etwas Allgemeines erstellen, hatte aber nur zu viele Klassen mit zu vielen überschriebenen Funktionen und switch-Anweisungen, um das Verhalten zu bestimmen.
Ich war gespannt, was jemand mit mehr Erfahrung im Design für eine solche Aufgabe tun würde, ein Allzweck-Kartenspiel-Framework zu erstellen, oder zumindest etwas, das erweitert werden könnte. Oder ist es am besten, wenn ich ein Kartenspiel wie Munchkin simulieren möchte, stecke ich fest und erstelle ein bestimmtes Framework.
Ich möchte C # verwenden.
BEARBEITEN
Ich möchte etwas klarstellen, was ich irgendwann erreichen möchte. Ich möchte ein Framework, in dem ich grundsätzlich Phasen mit benutzerdefinierten Funktionen implementieren kann (Phase 1: Karten ziehen, Phase 2: Wartungsregeln anwenden, Phase 3: Karten spielen, Phase 4: Auflösen usw.).
Ich denke, dann wäre es klug, einen Regelsatz zu definieren, der sowohl mit den Karten als auch mit den Phasen gekoppelt wäre.
Dann würden die Karten definiert und ich nehme an, dass sie an die Regeln gebunden sind, so dass beispielsweise die Regel "Während der Wartungsphase 1 Token verlieren" lautet. Eine Karte, über die der Spieler verfügt, kann jedoch "Verliere während der Wartungsphase keine Spielmarken" bereitstellen. Es wäre also schön, dies zusammenbinden zu können, aber im Rahmen des Rahmens.
Ich nehme an, das könnte auch ein Ausweg aus meiner Liga sein.