Hallo,
ich würde gerne ein Schachspiel entwickeln. Nun bin ich bei der Projektplanung auf eine Stelle gestoßen, wo ich euch gerne um Rat fragen möchte.
Die wichtigsten Klassen die benötigt werden wären einmal das Spielfeld(board) und die Spielfiguren(piece). Das Spielfeld könnte man sowohl als 1-dimensionales Array, als auch 2-dimensionales Array umsetzen. Aufgrund der Komplixität von einem Schachspiel, hat jede Figur ihre Eigenheiten um einen Spielzug auszuführen. Um zu überprüfen, ob sich eine Spielfigur an eine bestimmte Stelle bewegen darf, benötige ich also eine Funktion die mir alle erlaubten Spielzüge zurückgibt.
Hier ist mein Problem: Wie kann ich die Trennung zwischen Spielfeld und -figur zusammenbringen?
Schließlich muss z.B. der Bauer überprüfen, ob er eine Figur schlagen kann, denn dann kann er sich ja auch schräg anstatt gerade aus laufen. Mir kommt es designtechnisch seltsam vor, das Spielbrett an eine Figur zu übergeben?! Das klingt einfach nicht logisch.
Wüsstet ihr eine Möglichkeit wie man das im "guten" Design der Objektorientierung umsetzen könnte?
Vielen Dank für eure Aufmerksamkeit und Antworten.
ich würde gerne ein Schachspiel entwickeln. Nun bin ich bei der Projektplanung auf eine Stelle gestoßen, wo ich euch gerne um Rat fragen möchte.
Die wichtigsten Klassen die benötigt werden wären einmal das Spielfeld(board) und die Spielfiguren(piece). Das Spielfeld könnte man sowohl als 1-dimensionales Array, als auch 2-dimensionales Array umsetzen. Aufgrund der Komplixität von einem Schachspiel, hat jede Figur ihre Eigenheiten um einen Spielzug auszuführen. Um zu überprüfen, ob sich eine Spielfigur an eine bestimmte Stelle bewegen darf, benötige ich also eine Funktion die mir alle erlaubten Spielzüge zurückgibt.
Hier ist mein Problem: Wie kann ich die Trennung zwischen Spielfeld und -figur zusammenbringen?
Schließlich muss z.B. der Bauer überprüfen, ob er eine Figur schlagen kann, denn dann kann er sich ja auch schräg anstatt gerade aus laufen. Mir kommt es designtechnisch seltsam vor, das Spielbrett an eine Figur zu übergeben?! Das klingt einfach nicht logisch.
Wüsstet ihr eine Möglichkeit wie man das im "guten" Design der Objektorientierung umsetzen könnte?
Vielen Dank für eure Aufmerksamkeit und Antworten.