Salut à tous!
J'étais entrain de regarder et d'essayer de comprendre le code pour le pathfinding du perso. En lisant le fichier /com/an...agames/jerakine/pathfinding/Pathfinding.as, j'ai remarqué que il y avait des bouts de code bizarre.
Par exemple, on a (lignes 195-198):
alors qu'on s'attendrait à quelque chose comme (x == start.x || y == start.y) dans la condition. i est un itérateur utilisé dans des boucles bien avant ce bout de code et n'a rien à voir avec des coordonnées.
Il y a aussi des conditions étranges du style (lignes 176-209) :
Ce qui n'a pas vraiment de sens : le client enregistre la cell la plus proche de la fin SI ET SEULEMENT SI on autorise le personnage à passer à travers les entitées? C'est bizarre.
Le reste de la fonction est bourré de code et de conditions qui semble très très arbitraires pour du pathfinding avec A* (enfin à mon avis. J'avais un peu travaillé sur du A* mais je n'avais jamais vu de conditions dans ce style.)
Je me demande donc si il peut y avoir des erreur lors de la décompilation avec JPEXS et si oui, comment pourrait-on faire pour avoir un code sans erreur. Je me demande aussi si il y a d'autres erreurs de décompilations que je n'aurais pas vu car elle ne me paraissaient pas anormales.
Vous en pensez quoi?
Merci d'avance.
PS : Je me trompe peut être. Il est fort possible que le code soit complètement correct et que je m'inquiète pour rien.
J'étais entrain de regarder et d'essayer de comprendre le code pour le pathfinding du perso. En lisant le fichier /com/an...agames/jerakine/pathfinding/Pathfinding.as, j'ai remarqué que il y avait des bouts de code bizarre.
Par exemple, on a (lignes 195-198):
Code:
if(i == start.x || y == start.y)
{
movementCost = movementCost - 3;
}
Il y a aussi des conditions étranges du style (lignes 176-209) :
Code:
if(bAllowTroughEntity)
{
...
distanceTmpToEnd = MapTools.getDistance(cellId,endCellId);
if(distanceTmpToEnd < distanceToEnd)
{
endCellAuxId = cellId;
distanceToEnd = distanceTmpToEnd;
}
}
Le reste de la fonction est bourré de code et de conditions qui semble très très arbitraires pour du pathfinding avec A* (enfin à mon avis. J'avais un peu travaillé sur du A* mais je n'avais jamais vu de conditions dans ce style.)
Je me demande donc si il peut y avoir des erreur lors de la décompilation avec JPEXS et si oui, comment pourrait-on faire pour avoir un code sans erreur. Je me demande aussi si il y a d'autres erreurs de décompilations que je n'aurais pas vu car elle ne me paraissaient pas anormales.
Vous en pensez quoi?
Merci d'avance.
PS : Je me trompe peut être. Il est fort possible que le code soit complètement correct et que je m'inquiète pour rien.