addNeighborNodeInOpen method

void addNeighborNodeInOpen(
  1. DFAStarMap mapInfo,
  2. DFAStarNode current
)

添加所有邻结点到open表

Implementation

void addNeighborNodeInOpen(DFAStarMap mapInfo, DFAStarNode current) {
  int x = current.position!.x;
  int y = current.position!.y;
  // 左
  addNeighborNodeInOpenXy(mapInfo, current, x - 1, y, DIRECT_VALUE);
  // 上
  addNeighborNodeInOpenXy(mapInfo, current, x, y - 1, DIRECT_VALUE);
  // 右
  addNeighborNodeInOpenXy(mapInfo, current, x + 1, y, DIRECT_VALUE);
  // 下
  addNeighborNodeInOpenXy(mapInfo, current, x, y + 1, DIRECT_VALUE);
  // 左上
  addNeighborNodeInOpenXy(mapInfo, current, x - 1, y - 1, OBLIQUE_VALUE);
  // 右上
  addNeighborNodeInOpenXy(mapInfo, current, x + 1, y - 1, OBLIQUE_VALUE);
  // 右下
  addNeighborNodeInOpenXy(mapInfo, current, x + 1, y + 1, OBLIQUE_VALUE);
  // 左下
  addNeighborNodeInOpenXy(mapInfo, current, x - 1, y + 1, OBLIQUE_VALUE);
}