내가 작업하고있는 2D 게임에서 게임 엔진은 각 유닛에 대해 뷰 범위에있는 다른 유닛의 목록을 제공 할 수 있습니다.
그룹에서 단위를 정렬하는 확립 된 알고리즘이 있는지 알고 싶습니다 . 여기서 각 그룹은 서로 "연결되어있는"모든 유닛에 의해 정의됩니다 (다른 사람을 통해서도).
예를 들어 질문을 더 잘 이해하는 데 도움이 될 수 있습니다 (E = enemy, O = own unit). 먼저 게임 엔진에서 얻을 수있는 데이터 :
E1 can see E2, E3, O5
E2 can see E1
E3 can see E1
E4 can see O5
E5 can see O2
E6 can see E7, O9, O1
E7 can see E6
O1 can see E6
O2 can see O5, E5
O5 can see E1, E4, O2
O9 can see E6
그런 다음 그룹을 다음과 같이 계산해야합니다.
G1 = E1, E2, E3, E4, E5, O2, O5
G2 = O1, O9, E6, E7
시야에 대한 교환 속성이 있다고 가정 할 수 있습니다. [A가 B를보고, B가 A를보고].
명확히하기 위해 : 나는 이미 게임 엔진 정보의 각 행에서 반복되는 순진한 구현을 작성했지만, 그 모습을 보면 깊이 연구되고 다양한 확립 된 알고리즘을 가지고있을 정도로 일반적인 문제 인 것 같습니다. 나무 같은 구조를 통해?). 내 문제는 유용한 Google 조회수를 반환 한 내 문제를 설명하는 방법을 찾을 수 없다는 것입니다.
당신의 도움에 미리 감사드립니다!