给定一个任意大小的二维数组,如下所示:
var board = [
[0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0],
[0,0,0,0,0,0,0,0]
];
...以及该数组中给定的 [y][x] 点,例如:
board[3][4]
...以及它可以移动的给定数量的空间(上/下/左/右,not对角线),例如:
var distance = 3;
...函数如何循环遍历二维数组并创建仅包含这些数组的列表坐标可以旅行吗?
(这是数组中给定坐标 (*) 以及周围可行驶坐标的直观示例。)
0 0 0 0 0 0 0 0
0 0 0 3 0 0 0 0
0 0 3 2 3 0 0 0
0 3 2 1 2 3 0 0
3 2 1 * 1 2 3 0
0 3 2 1 2 3 0 0
0 0 3 2 3 0 0 0
0 0 0 3 0 0 0 0
参考:JS:如何通过算法突出显示 x/y 坐标的菱形选择? https://stackoverflow.com/questions/3952142/js-how-to-algorithmically-highlight-a-diamond-shaped-selection-of-x-y-coordinate(我之前问过这个问题,但我不明白如何输入坐标并接收坐标列表)