如何在按鈕上按下2維數組的新深度副本?2d對象數組的深層副本
基本上我用按鈕創建了一個遊戲場。這場比賽被稱爲推箱子,這是一個謎題。玩家使用固定地圖上的箭頭鍵(8x8按鈕)從一個按鈕移動到另一個按鈕。 我想實現一個撤消功能。所以我認爲我只是在每次移動之前創建一個JButton數組的深層副本並將其保存到堆棧中。所以當我按下撤消按鈕時,它會調用我的堆棧的彈出功能。問題是我需要聲明並初始化另一個JButton [] [],以便在每次移動之前保存遊戲字段。既然我想要無限可能的動作,並且還沒有辦法,對我來說似乎是不可能的。我不能聲明和初始化不同的JButton [] []數組。有關我如何解決這個問題的任何想法?
這就是我如何複製一個2D對象數組:
JButton[][] tempArray = new JButton[jbArray.length][jbArray[0].length];
for (int i = 0; i < getJbArray().length; i++) {
for (int j=0;j<getJbArray()[0].length;j++) {
tempArray[i][j]=jbArray[i][j];
}
}
movesStack.push(tempArray);
也許你可以更簡單:存儲_actions_,而不是_state_。每撤消一步,恢復操作。 – rpax