Java 2D ArrayList添加问题
所以我试图为一个类编写一个俄罗斯方块克隆,我试图创建一个不同棋子的arraylist,这样我就可以在游戏中随机生成新棋子。由于某些原因,我无法将声明的“片段”(2D int数组)添加到数组列表中。下面是我的代码的样子:Java 2D ArrayList添加问题,java,arrays,multidimensional-array,processing,Java,Arrays,Multidimensional Array,Processing,所以我试图为一个类编写一个俄罗斯方块克隆,我试图创建一个不同棋子的arraylist,这样我就可以在游戏中随机生成新棋子。由于某些原因,我无法将声明的“片段”(2D int数组)添加到数组列表中。下面是我的代码的样子: ArrayList<int[][]> pieces = new ArrayList<int[][]>(7); int[][] piece1 = {{0,1,0,0}, {0,1,0,0},
ArrayList<int[][]> pieces = new ArrayList<int[][]>(7);
int[][] piece1 = {{0,1,0,0},
{0,1,0,0},
{0,1,0,0},
{0,1,0,0}};
int[][] piece2 = {{0,1,0,0},
{0,1,0,0},
{1,1,0,0},
{0,0,0,0}};
int[][] piece3 = {{0,1,0,0},
{0,1,0,0},
{0,1,1,0},
{0,0,0,0}};
int[][] piece4 = {{0,1,0,0},
{1,1,0,0},
{0,1,0,0},
{0,0,0,0}};
int[][] piece5 = {{0,0,0,0},
{1,1,0,0},
{0,1,0,0},
{0,0,0,0}};
int[][] piece6 = {{0,0,0,0},
{0,1,1,0},
{1,1,0,0},
{0,0,0,0}};
int[][] piece7 = {{0,0,0,0},
{0,1,1,0},
{0,1,1,0},
{0,0,0,0}};
void setup{
pieces.add(piece1);
pieces.add(piece2);
pieces.add(piece3);
pieces.add(piece4);
pieces.add(piece5);
pieces.add(piece6);
pieces.add(piece7);
}
If给我一个越界错误,说我的ArrayList中没有元素
非常感谢你!另外,我在Processing 3中编写代码,它与Java非常相似,只是语法上有一些细微的差异。你调用过“设置”吗?@AJNeufeld Processing会自动为你调用
setup()
。请发布一篇文章。在您的例子中,我们需要了解您是如何调用pieces.get()
行的。你发布的代码看起来没问题,所以它一定在其他地方。MCVE将帮助我们跟踪这一点。如果处理程序自动调用setup()
,您确定它是在调用pieces.get()
的代码之前调用的吗。使用调试器单步执行代码,或设置断点以确保调用它。或者至少添加一个print
语句。另外,请确保您没有创建第二个名为pieces
的变量,该变量将另一个变量隐藏起来。@AJNeufeld您是对的安装程序中的代码是在尝试从ArrayList获取值后调用的。谢谢你的帮助!
currPiece = pieces.get(int(random(pieces.size())));