0
我正在製作一款基於實際棋盤遊戲的名爲「Go」的棋盤遊戲。基本上,有2名球員(白人和黑人),他們輪流在棋盤格的交叉點上放置白色和黑色寶石。將二維數組繪製到網格上
到目前爲止,我已經能夠繪製石塊,玩家之間交替並改變我的二維數組中的值,其中0 =開放點,1 =白色,2 =黑色。
我想從二維數組中繪製相應的石頭到我的板上。我能夠畫出正確的石頭並使其跟隨我的鼠標,但是一旦我點擊了我想要放置在該位置的位置並留在那裏。
這是我用什麼來使石材跟着我的鼠標
if (turn == 1) {
g2d.drawImage(s.getBlackStone(),
s.getBlackX() - Frame.frameLocation.x - 15,
s.getBlackY() - Frame.frameLocation.y - 35, null);
} else {
g2d.drawImage(s.getWhiteStone(),
s.getWhiteX() - Frame.frameLocation.x - 15,
s.getWhiteY() - Frame.frameLocation.y - 35, null);
}
我當時的想法是我有一個被稱爲每次我按下鼠標按鈕,該方法將得到的網格位置時間的方法在那裏點擊鼠標,輪到它並繪製圖像。你對這個有什麼想法?
「Frame」是變量還是類?如果它是一個變量,它應該被稱爲「框架」。如果它是一個類,那麼(a)你不應該使用靜態變量來定位,(b)你不應該隱藏'java.awt.Frame'。此外,圖形上下文相對於組件繪製,而不是屏幕。 – wchargin
這聽起來很合適。獲取網格位置,並在那裏放置/繪製石塊。不知道你還能做什麼 – greedybuddha
也請看看枚舉:使用'public enum Player {WHITE,BLACK}'與'if(turn == Player.WHITE)'結合使用。 – wchargin