Java 数组作为网格,如何对角移动?

Java 数组作为网格,如何对角移动?,java,arrays,math,Java,Arrays,Math,我有一个大小为n^2的数组,表示大小为nxn的正方形网格 我想从任何一个正方形(0到(n^2)-1)到最右上角的正方形,你可以沿着对角线直线移动 我已经计算出,要到达最左上方的正方形,就是取当前的正方形x,最左上方的正方形是x%(n+1) 有人知道右上角最正方形的类似方法吗?谢谢 如果我完全理解你想要实现的目标,你所需要做的就是用一条直线连接两个点,并使用直线公式计算它经过的单元格的坐标。您可以使用。对角线是指仅在45度角处?或者你的意思是沿着轴线移动。你的方程式给我的结果不太一致。你必须用这种

我有一个大小为n^2的数组,表示大小为nxn的正方形网格

我想从任何一个正方形(0到(n^2)-1)到最右上角的正方形,你可以沿着对角线直线移动

我已经计算出,要到达最左上方的正方形,就是取当前的正方形x,最左上方的正方形是x%(n+1)


有人知道右上角最正方形的类似方法吗?谢谢

如果我完全理解你想要实现的目标,你所需要做的就是用一条直线连接两个点,并使用直线公式计算它经过的单元格的坐标。您可以使用。

对角线是指仅在45度角处?或者你的意思是沿着轴线移动。你的方程式给我的结果不太一致。你必须用这种方法计算平方数吗?在我看来,如果使用二维数组和坐标系会更容易,例如:
(0,0)
是左上角的正方形,
(n-1,n-1)
是右下角。您没有提供足够的信息来回答这个问题。数组的顺序是否类似于数组[0]=0,0、数组[1]=0,1或数组[1]=1,0?坐标系是0,0是左下还是左上?