Pour "trouver son chemin", il faut utiliser une matrice dont toutes les cases valent initialement 0 (case valide), puis les mettre à 1 au fur et à mesure qu'on trouve des cases à éliminer.
Normalement, il faut donc faire un gros "memset 0" sur sa matrice, pour la fixer à 0 et commencer un pathfinding, mais je vais avoir besoin d'en effectuer un grand nombre assez rapidement, donc j'aimerais éviter ce memset.
J'ai envisagé la solution de considérer la valeur "1" comme "case occupée". La matrice se remplit donc un peu partout de 1. Au pathfinding suivant, on code "case occupée" par 2, ce qui fait que les anciennes cases (qui valaient 0 ou 1) sont de toute façon considérées comme "libres", et on évite ainsi le memset.
Le problème est que quand on arrive à 255, 65535, etc..., il faut repartir de 0, et alors là il y a le risque de retomber sur d'anciennes cases considérées comme "occupées" par un pathfinding anterieur. Par exemple quand la valeur "occupée" est 2, et que l'on tombe sur une case qui vaut 2, il n'y a pas de moyen de savoir si cette case a été déclarée comme occupée à ce pathfinding, ou bien à un autre qui a eu lieu bien avant, à un moment ou la valeur "occupée" était également 2.
En me relisant je n'ai pas l'impression d'avoir été très clair... Enfin si qqun a une solution qui permet d'éviter le memset, et qui n'ait pas cet inconvegnant, je suis preneur
