Java 2D 数组 - 如何将数组分配为值?

标签 java arrays

背景
我正在为我的 java 类做一个游戏项目,我们在游戏区域使用网格系统。 50 宽 x 25 高。这些方 block 的大小根据您的显示器尺寸动态调整,并且涉及一些数学。我从下面的示例中删除了它,以便更容易查看。

我目前决定做的是将网格方 block 存储在一个漂亮且简单的二维数组中,以便我们可以根据需要访问和更新游戏区域。这是代码:

// Updates when told to, saves new values
public static void GridList() {
// Record which grid squares are open (0) or blocked (1)
// X = Row and Y = Column
for (int x = 0; x < 50; x++ ) {
    for ( int y = 0; y < 25; y++ ) {
        gridList[x][y] = 0;
    }
}
}

我们的问题
现在,当我继续保存代表这些网格方 block 中间的订单对 (x,y) 时,麻烦就开始了。例如,根据我们为计算出显示器尺寸所做的所有数学计算,我们制作了一个 50 宽 x 25 高的网格,现在需要保存这些正方形中间的 (x,y) 坐标。这样我们的人工智能就知道将敌人移动到哪里;只要打开就一点一点。

这是我到目前为止将 X 坐标和 Y 坐标保存在自己的数组中的内容:

public static void NodeList() {
    for (int x = 0; x < 50; x++ ) {
        for ( int y = 0; y < 25; y++ ) {
            nodeListX[x][y] = *Removed all the math.*;
            nodeListY[x][y] = *Removed all the math.*;
        }
    }
}

我们的目标
我真正想做的是为每个网格方 block 保存一个数组,如下所示:

public static void NodeList() {
    for (int x = 0; x < 50; x++ ) {
        for ( int y = 0; y < 25; y++ ) {
            nodeList[x][y] = *array{x,y}*;
        }
    }
}

这在 Java 中可能吗?我无法弄清楚这一点。我看到了有关列表的内容,但我们还没有涉及到,所以我很茫然。

最佳答案

Java 确实没有办法存储一对数字。但是你可以创建一个像这样的坐标类:

`public class Coordinate
 int x;
 int y;

 public Coordinate(x,y)
 {
  this.x=x;
  this.y=y;
 }

 public int getX()
 {
  return x;
 }

 public int gety()
 {
  return y;
 }
`

然后你可以创建一个坐标数组。

关于Java 2D 数组 - 如何将数组分配为值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28922633/

相关文章:

java - 登录设备到文件

java - JPanels、JFrames 和 Windows,天哪!

java - 使用jxl读取excel文件时如何检查单元格是否为空白

java - 零长度多维数组

c - 将参数(结构体数组中的结构体)传递给 C 中的函数

java - 在 URL 中附加特殊字符

使用更多泛型扩展类时,Java 类信息会丢失

arrays - Ruby:根据日期分组时计算数组数组的平均值

javascript - JS或jQuery方法将json排列成多维数组

ruby - 使用 2 个参数创建一个方法来修改 Ruby 中数组中的元素,其中一个是原始数组