Witam, problem leży głownie przy tablicach obiektu. Jak rozpoczynałem naukę to wykorzystywałem tablice statyczne w których przechowywałem dane obiektów. Problem już się pojawił gdy obiekty miały zapamiętywać się nawzajem podczas ataku przez zrobienie porządku w tablicy.
Więc kolejny sposób jaki wykorzystałem to stworzenie tablicy obiektów statycznych i na wskaźnikach np Obiekt *obiekt_w[100], obiekt_s[100]; i problem znikł. Zapisałem wszystkie adresy obiekt_s do *obiekt_w i działałem tylko na adresach, obiekt_w[i]=&obiekt_s[i]; dzięki czemu obiekt znał adres i mógł zapamiętać dużo celów.
Kolejny pomysł to wykorzystanie tablic dynamicznych dla klas, chciałem aby ona zwiększała się lub zmniejszała w zależności ile mam obiektów. Z ciekawości zrobiłem test jak długo trwa stworzenie nowej tablicy dynamicznej o innym rozmiarze i przeniesienie wszystkich obiektów do niej itd. To dla 100 obiektów czas wyniósł 0.1 sek to przy moim odświeżaniu danych obiektów 60Hz klatka wynosiła by 6 sek.
Tak wiec tablice dynamiczne i ciągłe zmienianie ich wielkości odpada(chyba że jest inny spsób), albo z góry ustalę jak we wcześniejszych sposobach jej wielkość. Z zapamiętywaniem celu też jest problem bo przy każdym stworzeniu nowej tablicy dynamicznej skopiowane obiekty maja nowe adresy, wiec obiekt będzie atakował adres którego już nie ma
Nie wiem jak z vectorami, ile czasu im zajmuje np mielenie 100,200 lub więcej obiektów przez siebie 60 razy na sek. Puki co jeszcze nie sprawdzam.
Może ktoś inny zna sposób na przechowywanie obiektów i zarządzanie nimi, puki co sposób drugi bardziej mi odpowiada ale czy tak powinno się to robić ?