Oula, c'est compliqué tout ça!
Perso (en gros a l'artisanal), je foutrais toute tes unités ainsi que celles adverses dans deux array avec leur vision, puis je traiterais tout avec une boucle. En revanche suivant le nombre sa risque d'être long a traiter.
Si la vision était carrée sa aurait été facile avec x_max x_min y_max et y_min tu aurais juste a traiter avec une boucle l'array de tes unités, il en ressortirai toutes les cases "vues" dans un array. Ensuite tu n'aurais plus qu'a comparer avec une autre boucle les unités adverses pour voir si elles sont dans le champ de vision, si oui *pof* tu les affiches.
Enfin bon comme je te l'ai dit c'est artisanal et surement optimisable, mais si tu arrive a avoir toutes les cases qui sont dans le champ de vision, ben tu n'a plus qu'a comparer avec l'array adverse
Perso (en gros a l'artisanal), je foutrais toute tes unités ainsi que celles adverses dans deux array avec leur vision, puis je traiterais tout avec une boucle. En revanche suivant le nombre sa risque d'être long a traiter.
Si la vision était carrée sa aurait été facile avec x_max x_min y_max et y_min tu aurais juste a traiter avec une boucle l'array de tes unités, il en ressortirai toutes les cases "vues" dans un array. Ensuite tu n'aurais plus qu'a comparer avec une autre boucle les unités adverses pour voir si elles sont dans le champ de vision, si oui *pof* tu les affiches.
Enfin bon comme je te l'ai dit c'est artisanal et surement optimisable, mais si tu arrive a avoir toutes les cases qui sont dans le champ de vision, ben tu n'a plus qu'a comparer avec l'array adverse