Zasadniczo to, co chcesz zrobić, to tworzyć listy w miarę potrzeb. Jeśli przerysujesz obiekty terenu za jednym razem, przydatna może być ich lista. Ale żeby było to warte czasu, potrzebowałbyś dziesiątków tysięcy z nich i wielu tysięcy rzeczy, które nie są terenem. W przeciwnym razie przeglądanie listy wszystkiego i używanie „if” do wyciągania obiektów terenowych jest wystarczająco szybkie.
Zawsze potrzebowałem jednej głównej listy, bez względu na to, ile innych list miałem. Zwykle robię z tego mapę, tablicę z kluczami lub słownik, aby mieć swobodny dostęp do poszczególnych elementów. Ale prosta lista jest o wiele prostsza; jeśli nie masz dostępu do obiektów gry losowo, nie potrzebujesz mapy. A okazjonalne sekwencyjne przeszukiwanie kilku tysięcy wpisów w celu znalezienia właściwego nie zajmie długo. Powiedziałbym więc, że cokolwiek jeszcze zrobicie, planujcie trzymać się głównej listy. Rozważ użycie mapy, jeśli stanie się duża. (Chociaż jeśli możesz używać indeksów zamiast kluczy, możesz trzymać się tablic i mieć coś znacznie lepszego niż Mapa. Zawsze kończyłem się dużymi przerwami między liczbami indeksów, więc musiałem się poddać).
Słowo o tablicach: są niewiarygodnie szybkie. Ale kiedy wstają z około 100 000 elementów, zaczynają pasować do Śmieciarzy. Jeśli możesz przydzielić przestrzeń raz, a potem jej nie dotykać, dobrze. Ale jeśli stale powiększasz tablicę, stale przydzielasz i zwalniasz duże fragmenty pamięci i możesz zawiesić grę przez kilka sekund, a nawet zawieść z powodu błędu pamięci.
Czyli szybszy i bardziej wydajny? Pewnie. Mapa losowego dostępu. W przypadku naprawdę dużych list lista połączona pobije tablicę, jeśli i kiedy nie potrzebujesz dostępu losowego. Wiele map / list do organizowania obiektów na różne sposoby, w zależności od potrzeb. Możesz zaktualizować aktualizację wielowątkową.
Ale to dużo pracy. Ta pojedyncza tablica jest szybka i prosta. Możesz dodawać inne listy i rzeczy tylko w razie potrzeby i prawdopodobnie nie będziesz ich potrzebować. Pamiętaj tylko, co może pójść nie tak, jeśli Twoja gra stanie się duża. Możesz mieć wersję testową z 10-krotnie większą liczbą obiektów niż w wersji rzeczywistej, aby dać Ci wyobrażenie, kiedy zmierzasz do kłopotów. (Rób to tylko wtedy, gdy gra staje się duża.) (I nie próbuj wielowątkowości bez zastanowienia się. Wszystko inne jest łatwe do rozpoczęcia i możesz zrobić tyle, ile chcesz. i wycofaj się w dowolnym momencie. Dzięki wielowątkowości zapłacisz wysoką cenę za wejście, opłaty za pozostanie w są wysokie i trudno jest się wycofać.)
Innymi słowy, po prostu rób to, co robisz. Twoim największym limitem jest prawdopodobnie twój własny czas, który najlepiej wykorzystujesz.