Witam, piszę ostatnio pewien projekt - gra w stylu "Epic War" i natknąłem się na jeden problem.
W każdym poziomie gracz może wysyłać różne jednostki postaci (wojownik, łucznik, mag itd.), a przeciwnik (komputer) dysponuje swoimi jednostkami, które wysyła zależnie od upłyniętego czasu na danym poziomie. Każda jednostka ma jakiś zakres widzenia: wojownik reaguje z przeciwnikami z bliska (np. 50 pikseli), łucznik np. z 600 px. Problem tkwi w tym, że jeżeli na ekranie jest jednocześnie np. 20 postaci, w jaki sposób mogę sprawdzić czy ze sobą nie powinny reagować (np. czy łucznik nie powinien zacząć strzelać). Poziomy obsługiwane są przez klasę level posiadającą vector wskaźników klasy entity, po której dziedziczą klasy knight, archer, wizard itd. Tak więc, czy ograniczając się do klasy level można wydajnie sprawdzić, które postacie "zobaczyły inne" (do ich pola widzenia weszły postacie przeciwnika) i powinny zacząć coś robić, np. atakować?