Java 我们如何在n*n棋盘上标记障碍物

Java 我们如何在n*n棋盘上标记障碍物,java,arrays,2d,Java,Arrays,2d,我有一个二维数组棋盘。我还有一个二维棋盘上障碍物的二维阵列 `int[][] obstacles=({1,2}, {2,3}, {3,4}); 我不知道如何使用这些障碍物数组,并在棋盘上标记位置,使棋子(国王、王后等)无法进入该位置。为什么使用整数数组而不是布尔数组?只需创建一个8x8布尔数组,然后使用嵌套的for循环和if/else语句将行2、3、4和5初始化为false,将行0、1、6和7初始化为true,以在true和false之间切换行。之后,当一个棋子试图移动到一个正方形时,首先检查

我有一个二维数组棋盘。我还有一个二维棋盘上障碍物的二维阵列

`int[][] obstacles=({1,2}, {2,3}, {3,4});

我不知道如何使用这些障碍物数组,并在棋盘上标记位置,使棋子(国王、王后等)无法进入该位置。

为什么使用整数数组而不是布尔数组?只需创建一个8x8布尔数组,然后使用嵌套的for循环和if/else语句将行2、3、4和5初始化为false,将行0、1、6和7初始化为true,以在true和false之间切换行。之后,当一个棋子试图移动到一个正方形时,首先检查目标正方形的值,如果该值为真,则表示该正方形已被占用,并选择不同的移动。如果工件要移动到的正方形打开,则新正方形和前一个正方形的布尔数组元素将分别更改为true和false。

与我们相比,您更了解此
数组的含义。这并不是说有什么著名的“在棋盘上标记障碍物”的实现。但考虑到它是一个由两个数字项组成的数组,我们很有可能在这里查看坐标:
{1,2}
可能意味着文件1中的障碍物,秩2(如果您熟悉国际象棋符号,则为正方形a1),等等。没有更多的信息,我们只能进一步推测。你说的障碍物是指一个相同颜色的棋子吗?是的,这是正确的(a1-{1,2},b3-{2,3},等等)。它是什么颜色并不重要。在这些问题中,我必须计算女王可以访问n*n网格上的多少个方块,如果有障碍物/棋子,那么女王就不能从障碍物的位置向前移动了。