Hi!
Ich habe eine Klasse "Chessboard". Einem Tupel columnID (int)/ rowID(int) ist ein Objekt der Klasse "Square" zugeordnet. Einem Square ist wiederum ein Objekt der Klasse "Piece" (also Figur) zugeordnet.
Also: column und row --> square --> piece
Jetzt frage ich mich, wie ich das in der Klasse Chessboard mit variablen regle. Ich könnte eine HashMap<Square, Piece> haben. Wenn ein Bentuzer dann aber wissen will, welcher Square die position 3/2 (column und row) hat, müsste ich aber das keySet() der HashMap durchgehen und für jeden Square schauen, ob er die angegebenen columnID und rowID hat.
Das muss ja irgendwie besser gehen, denn eigentlich kann ja von column/row unmittelbar auf square geschlossen werden.
Dann habe ich mir überlegt: Ich habe zwei Variablen: einen Zweidimensionalen Array der Art Square[column][row] und eine HashMap<Square, Piece>. Dann habe ich aber zweimal die ganzen Squares gespeichert. Auch blöd...
Was würdet ihr tun?
Ich habe eine Klasse "Chessboard". Einem Tupel columnID (int)/ rowID(int) ist ein Objekt der Klasse "Square" zugeordnet. Einem Square ist wiederum ein Objekt der Klasse "Piece" (also Figur) zugeordnet.
Also: column und row --> square --> piece
Jetzt frage ich mich, wie ich das in der Klasse Chessboard mit variablen regle. Ich könnte eine HashMap<Square, Piece> haben. Wenn ein Bentuzer dann aber wissen will, welcher Square die position 3/2 (column und row) hat, müsste ich aber das keySet() der HashMap durchgehen und für jeden Square schauen, ob er die angegebenen columnID und rowID hat.
Das muss ja irgendwie besser gehen, denn eigentlich kann ja von column/row unmittelbar auf square geschlossen werden.
Dann habe ich mir überlegt: Ich habe zwei Variablen: einen Zweidimensionalen Array der Art Square[column][row] und eine HashMap<Square, Piece>. Dann habe ich aber zweimal die ganzen Squares gespeichert. Auch blöd...
Was würdet ihr tun?