Das ist schon besser, allerdings auch immernoch etwas ungünstig. Will man z.B. eine neue Karte hinzufügen, so muss man _jede_ andere Karte ändern. Man stelle sich das mal bei einem Kartenspiel mit 500 Karten vor...
Absolut richtig. Das es mehr Karten werden könnten habe ich nicht als Vorgabe angesehen. Deshalb habe ich mich für einen pragmatischen und doch OO-Ansatz entschieden.
Zudem hat man Redundanz: in jeder Klasse steht ein Vergleichsarray für jede andere Karte. Dabei braucht man lediglich die Hälfte der Einträge, um eindeutig bestimmen zu können, welche Karte welche andere Karte schlägt.
Man hat aber auch einen Vorteil.
Mit einer theoretischen Methode (getVergleich) könnte man sich dieses Array zurück geben lassen und würde sofort ohne große Umrechnerrei sehen wie die Beziehung zu anderen Karten sind. Das könnte man für Infotäfelchen auf der Webseite benutzen.
Was sagst du, ich rede meinen Vorschlag schön - okay du hast recht :(.
Gruß
Politikargumentübender
T-Rex