二维数组复制 (JAVA)
2D Array copy (JAVA)
第一个 post 来到这里。简而言之,我不得不在 Java 制作一个俄罗斯方块游戏,它运行良好但在优化方面存在一些问题(我这学期才开始编程)。
当我和老师讨论游戏时,他指出我有不必要的代码,而我不得不 delete/shift 行。
目前我没有确切的代码,但大概是这样的:
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];
但是在我做出这样的改变之后,游戏错误非常严重。根据我的研究,这样做似乎使数组指向相同的 "object"(在本例中为 int),而不是简单地复制元素。所以我问是否有人可以解释更深入的分析并对此有所帮助 solution/another
你的老师不对,你的研究是正确的。
您可以通过以下几种方式处理此问题:How do I copy a 2 Dimensional array in Java?
第一个 post 来到这里。简而言之,我不得不在 Java 制作一个俄罗斯方块游戏,它运行良好但在优化方面存在一些问题(我这学期才开始编程)。
当我和老师讨论游戏时,他指出我有不必要的代码,而我不得不 delete/shift 行。
目前我没有确切的代码,但大概是这样的:
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];
但是在我做出这样的改变之后,游戏错误非常严重。根据我的研究,这样做似乎使数组指向相同的 "object"(在本例中为 int),而不是简单地复制元素。所以我问是否有人可以解释更深入的分析并对此有所帮助 solution/another
你的老师不对,你的研究是正确的。
您可以通过以下几种方式处理此问题:How do I copy a 2 Dimensional array in Java?