Hey
Also, ich bin gerade dabei Schach in Java zu implementieren und wollte nochmal wegen meines Klassendesigns nachfragen.
[Leider geht keiner von den 7 UML Designer die ich runtergeladen habe>.<]
interface: Chessman <--- AbstractChessman <---
So, da würde mich schon mal interessieren was besser wäre.
Entweder ich schreibe dann noch eine Klasse, welche für alle Figuren gilt, welche sich gerade/diagonal bewegen und Bauer und Springer erben direkt von AbsractChessman.
Oder sollte ich ein weiteres interface definieren in dem ich definiere wie sich etwas bewegt, sprich diagonal, eines für linear und ein jumpInterface.
Das Problem, welches ich dabei sehe ist dann wieder die linear/diagonalen Figuren, mit Interfaces wäre es doch etwas lästig die 4 immer zu implementieren, also tendiere ich da zu meiner Oberklasse für diese vier.
Des weiteren gibt es die Klasse ChessGameBoard, welches so viel wie der Controller ist.
Sowie eine ChessView, welche vorerst mit Buttons bedienbar ist.
Ich hätte gedacht, dass die Logik im ChessGameBoard abläuft, sprich alle überprüfungen ob die Figur wohin springen darf bzw eine andere nehmen.
Wie und wohin eine Figur springen darf wäre dann aber innerhalb der Figurklassen.
Passt das vorerst so oder muss ich noch etwas ändern?
Also, ich bin gerade dabei Schach in Java zu implementieren und wollte nochmal wegen meines Klassendesigns nachfragen.
[Leider geht keiner von den 7 UML Designer die ich runtergeladen habe>.<]
interface: Chessman <--- AbstractChessman <---
So, da würde mich schon mal interessieren was besser wäre.
Entweder ich schreibe dann noch eine Klasse, welche für alle Figuren gilt, welche sich gerade/diagonal bewegen und Bauer und Springer erben direkt von AbsractChessman.
Oder sollte ich ein weiteres interface definieren in dem ich definiere wie sich etwas bewegt, sprich diagonal, eines für linear und ein jumpInterface.
Das Problem, welches ich dabei sehe ist dann wieder die linear/diagonalen Figuren, mit Interfaces wäre es doch etwas lästig die 4 immer zu implementieren, also tendiere ich da zu meiner Oberklasse für diese vier.
Des weiteren gibt es die Klasse ChessGameBoard, welches so viel wie der Controller ist.
Sowie eine ChessView, welche vorerst mit Buttons bedienbar ist.
Ich hätte gedacht, dass die Logik im ChessGameBoard abläuft, sprich alle überprüfungen ob die Figur wohin springen darf bzw eine andere nehmen.
Wie und wohin eine Figur springen darf wäre dann aber innerhalb der Figurklassen.
Passt das vorerst so oder muss ich noch etwas ändern?