二维阵列复制(JAVA)

时间:2015-03-21 01:27:57

标签: java arrays 2d tetris

这里的第一篇文章。简短的故事,我不得不用Java制作一个俄罗斯方块游戏,它工作正常,但在优化方面有一些问题(我这个学期才开始编程)。

当我和老师讨论这个游戏时,他指着我在线路已满时有不必要的代码,我不得不删除/移动线路。

我目前还没有确切的代码,但它是这样的:

public static int [][] trueBoard = new int [DIM_LINES][DIM_COLS];

//**CODE TO SHIFT LINES**//

for(int line=0;line < DIM_LINES;++l) //about this, ++l or l++?

      for(int cols=0;cols < DIM_COLS;++c)

             trueBoard[l][c]=trueBoard[l-1][c];

老师说在2岁时没用,我应该做到

for(int line=0;line < DIM_LINES;++l)

         trueBoard[l]=trueBoard[l-1];

但是在我做出改变之后,游戏的错误非常严重。从我的研究来看,似乎这样做会使阵列指向相同的对象&#34; (在本例中为int)而不是简单地复制元素。所以我问是否有人可以解释更深入的分析,并帮助解决这个问题/另一个

1 个答案:

答案 0 :(得分:0)

你的老师不对,你的研究是正确的。

您可以通过以下两种方式处理此问题:How do I copy a 2 Dimensional array in Java?