1

第一次在这里发帖。短篇小说,我不得不用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];

但是在我做出改变之后,游戏错误非常严重。根据我的研究,这样做似乎会使数组指向同一个“对象”(在这种情况下是一个 int),而不是简单地复制元素。所以我问是否有人可以更深入地分析并帮助这个解决方案/另一个

4

1 回答 1

0

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

这里有几种方法可以处理这个问题:如何在 Java 中复制二维数组?

于 2015-03-21T01:45:09.720 回答