Viq111 / twilight

An OK AI
0 stars 0 forks source link

a_star bug #28

Closed damv closed 9 years ago

damv commented 9 years ago

A_star renvoie un chemin vide quand on lui demande un chemin vers un ennemi qui est a plus d'un pas de distance. Probablement une mauvaise implementation de l'évitement.

Ce code :

world = client_api.World(10, 10)
myPos = (5,5)
pos = (
    (5,5,0,9,0),
    (6,6,0,0,15),
    (0,5,0,0,9)
    )
world.init_map(myPos, pos)
for p in pos:
    print world._a_star(myPos, (p[0], p[1]), 9)

retourne :

You are a vampire
[]
[(6, 6)]
[]
Viq111 commented 9 years ago

Dernière version ? :D (Ca marche chez moi)

Arkelenia commented 9 years ago

il n'y a qu'une version. En fait, pour faire en sorte qu'on attaque à la fin et qu'on ne se fasse pas attaquer (pour profiter du facteur 1.5), j'évite de me retrouver à 1 case de l'ennemi et donc A* ne renvoie pas de path. C'est géré derrière par find_path (si A* ne renvoie rien, alors find_path choisit la case voisine la plus proche de la destination). Je vais essayer d'améliorer ca.

Viq111 commented 9 years ago

J'ai déjà corrigé avant et j'ai viré le x1.5 pour l'instant, je rois pas qu'il faille gere ca direct dans l'A* sinon on risque d"etre souent bloqué

Viq111 commented 9 years ago

Closing as it seems resolved. Reopen if it's not the case