Skip to content

Latest commit

 

History

History
65 lines (50 loc) · 803 Bytes

File metadata and controls

65 lines (50 loc) · 803 Bytes

pathfinding.ts

npm i pathfinding.ts

Finders:

  • Jump Point - Diagonal Movement

Grid example

Jump point: 10

const grid = Grid.from([
  [50, 55, 60, 65, 70],
  [45, 0, 0, 0, 75],
  [40, 0, 0, 0, 1], //x4y2
  [35, 0, 0, 0, 5],
  [30, 25, 20, 15, 10],
]);

PF example 1

grid.findPath(
  { x: 4, y: 2 },
  { x: 4, y: 1 },
  { finder: FinderEnum.JUMP_POINT, maxJumpCost: 10 },
);
[
  { x: 4, y: 2 },
  { x: 4, y: 4 },
  { x: 0, y: 4 },
  { x: 0, y: 0 },
  { x: 4, y: 0 },
  { x: 4, y: 1 },
];

PF example 2

grid.findPath({ x: 4, y: 2 }, { x: 4, y: 1 }, { maxJumpCost: 1 });
[];

PF example 3

grid.findPath({ x: 4, y: 2 }, { x: 4, y: 1 }, { maxJumpCost: 85 });
[
  { x: 4, y: 2 },
  { x: 4, y: 1 },
];