Chcę stworzyć wiele różnych jednostek bez konieczności programowania rzeczy takich jak moveTo i Attack więcej niż raz
Z mojego punktu widzenia mogę to zrobić na 2 sposoby.
- Pojedyncza ogólna klasa Unit z flagami, która określa, co może / nie może zrobić (następnie tworzy instancje w tablicy statycznej i pobiera je w razie potrzeby)
- Klasa abstrakcyjna jednostki z abstrakcyjnymi metodami dla akcji specyficznych dla Jednostki, takich jak (Atak, Żniwa, Patrol), które następnie muszą zostać zaimplementowane w podklasach , nawet jeśli jednostka nie jest w stanie niczego zebrać.
pierwszy sposób na zrobienie tego wydaje się najprostszy, ale w końcu większość jednostek nie byłaby używana.
drugi sposób może również działać. Ale jeśli zdecyduję się na dwie różne jednostki, które mogą zbierać zasoby, będę miał dokładnie ten sam kod w dwóch różnych klasach, co nie wydaje się być właściwym sposobem na zrobienie tego.
Czy to jest właściwe podejście do tego problemu?
W grze takiej jak obszar, każda jednostka ma, jak przypuszczam, jakąś Listę Akcji / Rozkazów, naprawdę chciałbym wiedzieć, jak osiągnąć coś podobnego do tego, gdzie mogę po prostu kodować każdą Akcję / Rozkaz raz, i następnie daj je wszystkim jednostkom, które potrzebują wspomnianej Akcji.
Jeśli jestem niejasny (wysoce prawdopodobne) lub potrzebujesz więcej informacji na temat tego, czego dokładnie szukam, po prostu zapytaj mnie w komentarzu.