Cześć, mam taką zagwozdkę: powiedzmy, że mam mapę kafelkową i 100 obiektów na mapie. Każdy kafelek może być movement lub nie. Jeśli dany obiekt się porusza to naturalnie dla każdego obiektu należy sprawdzić, czy jego krawędź etc. nie leży na kafelku, który nie jest movement.
Zastanawiam się jednak jak sprawdzać, czy dany obiekt nie zderzył się z innym obiektem? Najprościej chyba porównywać każdy obiekt z każdym, ale to raczej jest mało efektywne, bo mając np. 100 obiektów muszę dla każdego z nich sprawdzać kolizję... W praktyce muszę sprawdzić jakieś (100^2)/2 porównań za każdym razem.
Inne rozwiązanie to zrobić listę wskaźników do obiektów w każdym kafelku i zapisywać do niej każdy obiekt, który znajduje się nad danym kafelkiem a następnie porównywać tylko te obiekty, które są na tym samym kafelku.
A czy jest lepsze rozwiązanie? Jak Wy byście to rozwiązali?
Jak zrobić to, by było w miarę efektywnie a jednocześnie "profesjonalnie"? ;-)
Z góry dzięki za pomoc.