[問題] 陣列複製問題
最近做了個五子棋的view
下棋跟運算是否勝利都OK 但就是"回到上一步"一直失敗
public class GameView extends View {
//建立13*13棋盤
private int[][] chess_map = new int[13][13];
//建立儲存棋盤的ArrayList
ArrayList<int[][]> Array_chess_map=new ArrayList<int[][]>();
//重寫View的監聽觸摸事件
@Override
public boolean onTouchEvent(MotionEvent event) {
...就是取得觸摸位置後在chess_map放入值 這裡沒問題
然後我將改變後的chess_map.clone() 裝入ArrayList...
int[][] chess_map_temp = chess_map.clone();
Array_chess_map.add(chess_map_temp);
我可以藉由LOG知道每次存進去Array的chess_map_temp的
toString()都是不一樣的
public void setundo() {//毀棋
chess_map_test1=Array_chess_map.get(Array_chess_map.size()-1);
chess_map_test2=Array_chess_map.get(Array_chess_map.size()-2);
chess_map_test3=Array_chess_map.get(Array_chess_map.size()-3);
問題就在這裡 我把
chess_map_test1~3的toString全部印出來
是不同的 如同我所想的一樣照先後存進去
但是chess_map_test1~3所存的值 卻都是一樣的
也就是我最後儲存的chess_map的值 也就是chess_map_test1的值
QQ
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 122.118.36.138
※ 文章網址: https://www.ptt.cc/bbs/AndroidDev/M.1442393748.A.329.html
→
09/16 17:34, , 1F
09/16 17:34, 1F
→
09/16 17:36, , 2F
09/16 17:36, 2F
→
09/16 17:37, , 3F
09/16 17:37, 3F
→
09/16 17:42, , 4F
09/16 17:42, 4F
→
09/16 17:42, , 5F
09/16 17:42, 5F
→
09/16 17:43, , 6F
09/16 17:43, 6F
所以要一格一格去掃 然後放進去喔 QQ
※ 編輯: aynmeow (122.118.36.138), 09/16/2015 17:49:31
推
09/20 22:16, , 7F
09/20 22:16, 7F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
問題
1
7