我正在制作一個(gè)棋盤游戲,目前正試圖將2D數(shù)組中的所有周圍鄰居保存為列表中的列表。我遇到的問(wèn)題是,當(dāng)我將list1保存到list2,然后在迭代中繼續(xù)并將list1更改為其他內(nèi)容時(shí),它也會(huì)影響list2,因此我丟失了另一個(gè)鄰居的值。這是我嘗試過(guò)的: private ArrayList<ArrayList> forcedPlays = new ArrayList<ArrayList>(); private ArrayList<Integer> forcedPlay = new ArrayList<Integer>(); private void findNeighbors(){ for (int y = -1; y <=1 ; y+=2) { for (int x = -1; x <= 1; x+=2) { if (board[myY+y][myX+x]!=null){ enemyY = myY+y; enemyX = myX+x; forcedPlay.addAll(Arrays.asList( Integer.valueOf(enemyY), Integer.valueOf(enemyX))); forcedPlays.add(forcedPlay); forcedPlay.clear()}}}}如果我的玩家被兩個(gè)鄰居包圍,我希望強(qiáng)制播放的輸出看起來(lái)像例如:[[2,1],[4,3]],但它看起來(lái)像[[],[]]。所以我不明白的是,如何將list1添加到list2,然后切斷它們之間的聯(lián)系,這樣當(dāng)我清除list1時(shí),它就不會(huì)清除list2?
添加回答
舉報(bào)
0/150
提交
取消