Path finding library for your projects
Project description
pathfinding
Table of content
Installation
You can install the package by running the following command :
python3 -m pip install --upgrade PathFinder
Note
Please note that the package is currently in beta version and may encounter bugs or unexpected behaviours for which I am not responsible.
Known issues :
- No cartesian coordinates for grid display available (only alphabetical coordinates)
- Grid display is not centered and might not work in every terminal
- The
find_path
method is not optimized and might take a long time to find a path
Use
Create an instance
Simply import the pathfinding
object from the package into your script and start use it.
from pathfinding import PathFinder as pf
# From Asynconf 2022 - https://asynconf.fr/
map = """
O___O_OO__OO__VO_O_O
__O___O_OOO_OO_____O
OO___O___OOO_OOOOO_O
__OO__X__OO_O___O__O
_OO___OO______O___OO
""".split("\n")
pathfinder = pf(
map, # map to use (list or str)
"X", # start point (str)
"V", # end point (str)
walkable="_", # walkable tiles (str)
non_walkable="O", # non walkable tiles (str)
debug_mode=False # display processing informations (bool)
)
Steps to find a path
- Make a graph from the map
graph = pathfinder.make_graph()
- Get the first path found
path = pathfinder.find_path()
- Optimize the path
optimized_path = pathfinder.optimize_path(path)
- use the path
print(pathfinder.get_path(alphanumeric=True))
print(pathfinder.get_path(alphanumeric=False))
##################################################
['G4', 'H4', 'I4', 'I5', 'J5', 'K5', 'L5', 'M5', 'N5', 'N4', 'O4', 'P4', 'P5', 'Q5', 'R5', 'R4', 'S4', 'S3', 'S2', 'R2', 'Q2', 'P2', 'O2', 'O1']
[(6, 3), (7, 3), (8, 3), (8, 4), (9, 4), (10, 4), (11, 4), (12, 4), (13, 4), (13, 3), (14, 3), (15, 3), (15, 4), (16, 4), (17, 4), (17, 3), (18, 3), (18, 2), (18, 1), (17, 1), (16, 1), (15, 1), (14, 1), (14, 0)]
Display the path
print(pathfinder.show_path(show_grid=True, animate=False))
##################################################
# displays the path on the map. If animate is True, the path will be displayed step by step and the screen will be cleared after each step
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file petchou_pathfinder-0.0.4.tar.gz
.
File metadata
- Download URL: petchou_pathfinder-0.0.4.tar.gz
- Upload date:
- Size: 6.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.2.2 CPython/3.10.8 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9c3e04c89c0716b860396089fec02b9b4beed467698edcf019399da26fe8971d |
|
MD5 | 39c63bc7f93b36c0f3ef746ca5e03f8d |
|
BLAKE2b-256 | a042cb8cc53415fef6ea550c363cb11039d7944933fd0c3b0f05c9abbbb46bba |
File details
Details for the file petchou_pathfinder-0.0.4-py3-none-any.whl
.
File metadata
- Download URL: petchou_pathfinder-0.0.4-py3-none-any.whl
- Upload date:
- Size: 6.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.2.2 CPython/3.10.8 Windows/10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68a3d5bb3e1c30e51412a950d78e43979f02c6aaa89e6e0391ee48e34a2f3fdb |
|
MD5 | 79361158493ec079b917f92988df3781 |
|
BLAKE2b-256 | a63d483ac9b6da4bf7a9f5fda19b1511d9957a8601eb0285ad1692b0ffcfaec9 |