nodes = new Node[grid.Length]; for (int i = 0; i < nodes.Length; i++) { Node node = new Node(); node.row = i / cols; node.col = i - (node.row * cols); nodes[i] = node; }
foreach (Node node in nodes) { int row = node.row; int col = node.col; if (grid[row, col] != 1) { if (row > 0 && grid[row - 1, col] != 1) { node.adjecent.Add(nodes[cols * (row - 1) + col]); } if (col < cols - 1 && grid[row, col + 1] != 1) { node.adjecent.Add(nodes[cols * row + col + 1]); }
nodes = new Node[grid.Length]; for (int i = 0; i < nodes.Length; i++) { Node node = new Node(); node.row = i / cols; node.col = i - (node.row * cols); nodes[i] = node; }
foreach (Node node in nodes) { int row = node.row; int col = node.col; if (grid[row, col] != 1) { if (row > 0 && grid[row - 1, col] != 1) { node.adjecent.Add(nodes[cols * (row - 1) + col]); } if (col < cols - 1 && grid[row, col + 1] != 1) { node.adjecent.Add(nodes[cols * row + col + 1]); }