Je développe un jeu / simulation où les agents se battent pour la terre. J'ai la situation montrée dans l'image ci-dessous:
Ces créatures se promènent et occupent des parcelles de terrain sur lesquelles elles marchent si elles sont libres. Pour rendre cela plus intéressant, je veux introduire un comportement de "patrouille", de sorte que les agents se promènent réellement sur leur territoire pour patrouiller contre tout intrus qui voudrait le prendre.
Côté technique, chaque carré est représenté comme une x,y
position ainsi qu'une dimension représentant sa longueur latérale. Il contient également des informations sur qui occupe la place. Tous les carrés sont stockés dans un ArrayList
.
Comment puis-je introduire un comportement de patrouille? Ce que je veux, c'est que chaque agent patrouille une certaine partie de la zone (ils se divisent entre eux les zones qu'ils vont patrouiller). Le principal problème que j'ai trouvé est le suivant:
- La superficie du terrain est très aléatoire, comme on le voit sur la photo. Il est assez difficile de comprendre où se situent les limites dans chaque direction.
- Comment les agents devraient-ils répartir les régions pour patrouiller?
- Les zones de terrain peuvent être disjointes, puisque l'équipe adverse peut prendre le territoire du milieu.
J'ai eu l'idée de prendre le carré le plus éloigné dans chaque direction, de les traiter comme les limites de la zone et de diviser les régions en fonction de ces limites, mais cela pourrait inclure beaucoup de terres non pertinentes.
Comment dois-je aborder ce problème?