Я хочу, щоб створити безліч різних підрозділів без необхідності програмувати такі речі, як дії moveTo та Attack не один раз
Як я це бачу, є два способи це зробити.
- Єдиний загальний клас Unit з прапорами, який вказує, що він може / що не може робити (тоді створюйте екземпляри в статичному масиві та захоплюйте їх при необхідності)
- Абстрактний клас одиниць з абстрактними методами для окремих підрозділів (Attack, Harvest, Patrol), які потім потрібно реалізувати в підкласах , навіть якщо пристрій насправді нічого не може зібрати.
Перший спосіб зробити це здається найпростішим, але я в кінцевому підсумку маю багато коду, який не використовується у більшості одиниць.
другий спосіб також міг би працювати. Але якщо я вирішу мати дві різні одиниці, які можуть збирати ресурси, у мене буде такий самий код у двох різних класах, що не здається правильним способом зробити це.
Це навіть правильний підхід до цієї проблеми?
У такій грі, як AoE, кожен підрозділ має, те, що я припускаю, якийсь перелік дій / доручень, я дуже хотів би знати, як досягти чогось подібного до того, де я можу просто кодувати кожну Дію / Замовлення один раз, і потім дайте її всім підрозділам, які потребують зазначеної дії.
Якщо мені незрозуміло (дуже правдоподібно) або вам потрібна додаткова інформація про те, що саме я шукаю, просто запитайте мене в коментарі.