moveTo 및 Attack 동작과 같은 항목을 두 번 이상 프로그래밍하지 않고도 다양한 단위를 만드는 방법을 원합니다.
내가 보는 방식에는 두 가지 방법이 있습니다.
- 할 수 있거나 할 수없는 것을 지정하는 플래그가 있는 단일 일반 단위 클래스 (정적 배열에서 인스턴스를 작성하고 필요할 때 가져옵니다)
- (Attack, Harvest, Patrol)과 같은 유닛 특정 액션에 대한 추상 메소드가있는 추상 유닛 클래스 . 이는 유닛이 실제로 아무것도 수확 할 수없는 경우에도 서브 클래스 에서 모두 구현해야합니다 .
이 작업을 수행하는 첫 번째 방법이 가장 단순 해 보이지만 대부분의 장치에서 사용되지 않는 많은 코드가 생길 수 있습니다.
두 번째 방법도 효과가 있습니다. 그러나 자원을 수확 할 수있는 두 개의 다른 단위를 사용하기로 결정하면 올바른 두 가지 클래스로 동일한 코드를 가지게 될 것입니다.
이 문제에 대한 올바른 접근 방법입니까?
AoE와 같은 게임에서 모든 유닛은 내가 생각하는 것의 일종의 행동 / 주문 목록을 가지고 있으며, 각 행동 / 주문을 한 번만 코딩 할 수있는 것과 비슷한 것을 달성하는 방법을 정말로 알고 싶습니다. 그런 다음 조치가 필요한 모든 부대에 제공하십시오.
불분명하거나 (그럴듯한) 정확히 찾고있는 것에 대한 자세한 정보가 필요하면 의견을 남겨주십시오.