1.3.3 • Published 2 years ago

@arcia125/pather v1.3.3

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

alt text

Pather

Pather is a versatile and typed pathfinding library designed for 2D games, offering the convenience of pathfinding without the need for a matrix or grid input.

Table of Contents

Demo

Explore the interactive demo on the Pather Demo Page or run the following command to experience it locally:

npm run dev

Installation

To integrate Pather into your project, install it via npm:

npm install @arcia125/pather

Usage

import { findPath } from '@arcia125/pather';

const grid = [
  [0, 0, 0, 0, 0],
  [0, 0, 1, 0, 0],
  [0, 0, 1, 0, 0],
  [0, 0, 1, 0, 0],
  [0, 0, 0, 0, 0],
];

findPath({
  startPos: { x: 0, y: 0 },
  endPos: { x: 4, y: 4 },
  // diagonal?: true,
  // heuristic?: (node, endNode) => number,
  // isDone?: (node, endNode) => boolean,
  wouldCollide: (node) => grid[node.y][node.x] === 1,
  isOutOfBounds: (node) => typeof (grid?.[node.y]?.[node.x]) === 'undefined',
});

Features

  • Matrix-Free Pathfinding: Pather simplifies pathfinding in 2D games by eliminating the need for a matrix or grid input.
  • Interactive Demo: Visualize and experiment with Pather's capabilities through the online demo.

API

findPath(options: PathOptions): Position[] | undefined

Finds the path between the start and end positions based on the specified options.

Parameters

  • options: PathOptions - Configuration options for pathfinding.
    • startPos: Initial position on the grid.
    • endPos: Target position on the grid.
    • diagonal: (Optional) Whether diagonal movement is allowed.
    • wouldCollide: Function to check if a node would collide with obstacles.
    • isOutOfBounds: Function to check if a node is out of bounds.
    • heuristic: (Optional) Custom heuristic function for path evaluation.
    • isDone: (Optional) Custom function to check if the destination is reached.

Returns

  • An array of Position representing the path if found.
  • undefined if no path is found.

License

Pather is open-source software licensed under the MIT License. Refer to the LICENSE file for details.

1.3.3

2 years ago

1.3.2

2 years ago

1.3.1

2 years ago

1.3.0

2 years ago

1.2.11

2 years ago

1.2.10

2 years ago

1.2.9

2 years ago

1.2.8

2 years ago

1.2.7

2 years ago

1.2.6

2 years ago

1.2.5

2 years ago

1.2.4

2 years ago

1.2.3

2 years ago

1.2.1

2 years ago

1.2.0

2 years ago

1.1.8

2 years ago

1.1.7

2 years ago

1.1.6

2 years ago

1.1.5

2 years ago

1.1.3

2 years ago

1.1.2

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago