我正在用Java編寫一個國際象棋遊戲,它已經設置了一個Board類,它有一個2d的Square對象數組。每個正方形都有一個高度和寬度(0到7之間)。我要寫一個方法,它需要一個方形對象,一個垂直偏移量和一個水平偏移量。例如:如果我打電話給getNearbySquare(mySquare,3,2),它應該返回棋盤上的方形對象,它位於mysquare的上方3,mySquare的右邊2。爪哇國際象棋:應該找到附近的廣場是方形或板類的方法嗎?
我最初在Square類中將它寫成實例方法,它只是在垂直和水平偏移量中。問題是,我正在創建並返回一個新的方形對象,而不是我的Board類中的2d數組中的正確對象。
我看到兩個選項:
1)使在Square類的實例方法,該方法在一局對象,垂直偏移量和水平偏移量。我將找到調用此方法的方形對象的當前高度和寬度,添加垂直和水平偏移量以獲取所需平方的Board中的新位置,然後使用Board [newHeight] [newWidth]訪問它。
2)在Board類中創建一個實例方法做同樣的事情,但不要求我像在1)中那樣傳遞Board對象。相反,我需要傳入方形對象。
只要做出這些決定,是否有一個普遍接受的做法?
感謝您的幫助, Mariogs
董事會需要了解的廣場,沒有那麼多的相反。這應該是董事會類的一種方法。 – 2015-01-09 22:33:40