我有一個8×8的國際象棋棋盤,我試圖執行八皇后拼圖。在我的遊戲中,我製作了一個功能,用於檢查皇后的移動情況,一旦我的棋盤上按下按鈕,特定皇后可以移動的所有行和列都會關閉,以便兩個皇后不會互相攻擊。我被卡住,但試圖弄清楚如何讓我所有的對角線按鈕關閉,以及在我的代碼。八皇后 - 對角線運動
private JButton[][] Squares = new JButton[8][8];
for (int i = 0; i < Squares.length; i++) {
for (int j = 0; j < Squares[i].length; j++) {
if(Squares[i][j].getModel().isPressed()){
for (int x=0; x<8; x++){
Squares[i][x].setEnabled(false); //turns off column buttons
Squares[x][j].setEnabled(false); //turns off row buttons
//Squares[i][j+1].setEnabled(false);
//Squares[i+1][j-1].setEnabled(false);
}
當女王被放在棋盤上時,爲了禁用所有的對角按鈕,我需要做些什麼?
編輯:我注意到,如果我做Squares[x][x].setEnabled(false);
那麼它會給我兩個對角線之一,但是這隻給了對角線一次,並在點擊第二個按鈕後,一切都打破。
你對主對角線上方格的座標有什麼注意?那對角線上方的方格的共同點呢? – 2014-11-14 20:22:43
我真的不確定,無論我嘗試什麼,我都會遇到錯誤,最後我會陷入困境。我知道,如果我嘗試增加一個,我有時可以得到一個對角線,但是因爲每當我嘗試時我都會硬編碼,如果我處於最後一列/行,我經常會遇到錯誤。 – Valrok 2014-11-14 20:26:17