java - 二维数组复制(JAVA)

标签 java arrays 2d tetris

这里是第一篇文章。简而言之,我必须用Java制作一个俄罗斯方 block 游戏,它运行良好,但在优化方面存在一些问题(我这学期才开始编程)。

当我与老师讨论游戏时,他指出我在一行已满时编写了不必要的代码,而我不得不删除/移动这些行。

我目前没有确切的代码,但大致如下:

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),而不是简单地复制元素。所以我问是否有人可以解释更深入的分析并为这个解决方案/另一个提供一些帮助

最佳答案

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

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

关于java - 二维数组复制(JAVA),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29178232/

相关文章:

java - 基本用户帐户锁定系统

java - 如何从speechMatics中获取转录文本

java - 启用 stomp 后的 activemq oom

java - Debug模式超时 Tomcat

java - Arrays.copyOfRange() 的运行时

c - 调用数组的特定索引时,打印所有值

algorithm - 二维路径 "shrink-wrap"算法

java - 对象数组的问题

c++ - 函数模板的模板参数名是否可以在函数参数列表中多次使用?

algorithm - 检测一个点相对于其他两个点的位置