Java 二维阵列正方形的初始化和选择

Java 二维阵列正方形的初始化和选择,java,arrays,multidimensional-array,javafx,2d,Java,Arrays,Multidimensional Array,Javafx,2d,出于代码优化的目的,我想创建一个包含40个相等正方形(10x10px)的二维数组。每个方块代表显示窗口的1\40(400x400px) 我使用标准的双for循环方法填充2d数组 int col = 40; int row = 40; int boxPosition = 0; //Position of the box (coordinates) Integer[][] boxes = new Integer[40][40]; for (int i = 0

出于代码优化的目的,我想创建一个包含40个相等正方形(10x10px)的二维数组。每个方块代表显示窗口的1\40(400x400px)

我使用标准的双for循环方法填充2d数组

    int col = 40;
    int row = 40;
    int boxPosition = 0; //Position of the box (coordinates)
    Integer[][] boxes = new Integer[40][40];

    for (int i = 0; i < col; i++) {
        for (int j = 0; j < row; j++) {
            boxes[i][j] = boxPosition;
            boxPosition += 10; //Creates a 10px box.
        }
        boxPosition = 0; //Resets box size for next column
    }
int col=40;
int row=40;
int-boxPosition=0//框的位置(坐标)
整数[][]框=新整数[40][40];
for(int i=0;i
此程序中有几个圆圈。我们有一艘向敌人发射导弹的飞船(圆圈)

我只想在其中一个方格中有子弹+敌人时运行碰撞检测。这将极大地优化代码

问题是。。。如何在二维阵列上创建这些正方形?如何选择每个方块?如何测试导弹和敌人是否在同一个方格内

非常感谢代码示例


谢谢。

我不知道你在用2D数组做什么,也不知道为什么它包含整数,或者为什么它在每列中包含越来越大的大小,但是基于网格的碰撞的一般方法是使用游戏对象的2D数组。在你的情况下,游戏对象可能是一艘飞船、一枚导弹或一个敌人


当你的一个游戏对象想要移动时,你只需检查游戏对象的2D数组,看看你想要移动到的方块中已经有什么。如果它是空的,你可以移动。如果不是空的,则表示发生碰撞。

boxSize表示什么?如果是“盒子”大小,那么它们并不都相等。如果这是一个位置问题,那么你需要更清楚它的含义。很好。是的,这是位置,我刚刚修正了。所以将坐标保存为一个值并不是这样的。如果在二维平面上,则至少需要两个坐标值grid@JL是的,那正是我不知道该做什么的地方。你会建议我做什么来实现我想要的?伪代码将是伟大的顺便说一句!有道理。你能提供一些伪代码吗?这真的会帮我很大的忙。如果你有具体的问题,不妨尝试一下,然后发表一个问题?伪代码看起来和我上一段没有什么不同,我完全按照你的要求做了。请检查我的新线程