Skip to main content

Pathfinding module with Heatmap system

Project description

CartFinder

CartFinder est un système de détection de chemin automatique (Pathfinder) fonctionnant avec un système de gestion du danger (Heatmap).

Installation

  1. Téléchargez le fichier .zip (bouton à côté de la section description tout en haut de la section des fichiers).
  2. Décompressez-le pour obtenir le fichier CartFinder.py.

Utilisation

1. Définir la carte

Définissez votre matrice/map sous forme de liste contenant des sous-listes pour les lignes :

  • "-0" : Mur / Infranchissable
  • "0" : Case sans danger
  • "1" à "4" : Danger initial (1 = petit danger, 4 = très grand danger)
map_test = [
    ["0", "0", "0", "-0", "0"],
    ["0", "-0", "0", "4",  "0"],
    ["-0", "-0", "0", "0",  "0"]
]

2. Initialiser le Pathfinder

Créez l'instance de la classe en passant ces arguments : la variable de la map, le point de départ [ligne, col], des points additionnels optionnels [[l, c]], et l'arrivée [ligne, col].

game = PathFinder(map_test, [0, 0], [[1, 2]], [0, 4])

3. Lancer la recherche

Lancez la fonction .Find() en spécifiant l'importance de la vitesse (pR) et l'importance de la sécurité (pS).

result = game.Find(pR=2, pS=2)

4. Afficher le résultat

Vous pouvez ensuite afficher le chemin calculé ainsi que le score final.

print("Chemin trouvé par le bot :", result[0] if result else "Aucun")
print("Score final :", result[1] if result else "N/A") 

Fonctionnement

  1. Propagation du danger : Dès l'initialisation, CartFinder augmente automatiquement la valeur de danger des cases situées autour des sources de danger initiales (Heatmap).
  2. Génération des essais : Lors de l'appel à la méthode Find(), l'algorithme génère des tentatives pour atteindre chaque objectif l'un après l'autre.
  3. Calcul du meilleur chemin : Au bout de 150 essais, il calcule le score des solutions trouvées avec la formule suivante: $$score = -((nb_cases \times pR) + (danger_accumulé \times pS))$$ L'algorithme retient ensuite le chemin possédant le score le plus élevé (le moins négatif).

License et autres

Ce script est sous licence GNU General Public License 3.0 (GPL 3.0).

La version en module sortira très bientôt

Contact: zedka450 (Discord) zedka.le.vrai.pro@gmail.com (e-mail)

Pourquoi le nom "CartFinder"?

C'est très simple: je voulais un nom simple, qui se retient, alors je me suis dit "C'est pour les cartes, alors Cart, et Finder pour pathfinder" et ça fait CartFinder.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cartfinder-1.0.0.tar.gz (14.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cartfinder-1.0.0-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

Details for the file cartfinder-1.0.0.tar.gz.

File metadata

  • Download URL: cartfinder-1.0.0.tar.gz
  • Upload date:
  • Size: 14.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for cartfinder-1.0.0.tar.gz
Algorithm Hash digest
SHA256 10d3142087c1ab6ee7e3f8597431f285e40bdce1022282abb56ab974f627ba71
MD5 4d9dc75e754a4c07a516b59195fe263c
BLAKE2b-256 8eb0542142535bfb95af48dd0835bdcf556e6fcdc63f954c866240c031605e33

See more details on using hashes here.

File details

Details for the file cartfinder-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: cartfinder-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 15.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.12 {"installer":{"name":"uv","version":"0.11.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for cartfinder-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a641c5be75918ee5a4bc93febffd8b5b2bf230afbc3896840dfa589110fe4c25
MD5 8d8ecdb8277e89bb2083d80d8a7239a7
BLAKE2b-256 3984e59cb3226ea1f309ae8e420a7938633560a7ba1a589197cfef4f50473d97

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page