我正在尝试用Java做一个记忆游戏。出于测试目的,该游戏目前基本上将是4x4的网格中的一些正方形。我已经创建了Square类,并对该类进行编程,然后在另一个处理游戏“正常模式”的类中创建了Square对象。现在,由于我有一个4x4的正方形网格,因此我需要制作16个不同的正方形(或者至少我现在正在考虑的是)。我还需要在相应的位置绘制正方形。
我的问题:创建16个Square对象同时仍然能够单独操作它们的最有效方法是什么? (排序类似,每个都有自己的名称; Square,Square1,Square2等)。
我也在使用Slick2D库。
最佳答案
如上所述,Square [] [] squareGrid = new Square [4] [4]是解决此问题的好方法;
那么您可以使用以下命令初始化全部16个:
for (int i = 0; i < squareGrid.length; i++)
for(int j = 0; j < squareGrid[i].length; j++)
squareGrid[i][j] = new Square();
现在,每个正方形都会自动具有其自己的唯一(行,列)ID。
例如,
squareGrid[1][2].callSomeFunctionInSquareClass();
可用于操纵第二行,第三列的正方形。
这样,您将避免扫描所有正方形以将其放在网格上的特定单元中,从而使其效率更高。
快乐的编码:)