moveToやAttackアクションなどを複数回プログラムすることなく、多くの異なるユニットを作成する方法が欲しい
私の見方では、これを行うには2つの方法があります。
- できること/できないことを指定するフラグを持つ単一の汎用ユニットクラス(その後、静的配列でインスタンスを作成し、必要に応じてそれらを取得します)
- (Attack、Harvest、Patrol)のようなユニット固有のアクションの抽象メソッドを持つ抽象ユニットクラス。これらは、ユニットが実際に何も取得できない場合でも、すべてサブクラスで実装する必要があります。
これを行う最初の方法は最も簡単に思えますが、ほとんどのユニットで多くのコードが使用されないことになります。
2番目の方法も機能します。しかし、リソースを収穫できる2つの異なるユニットを使用することにした場合、2つの異なるクラスにまったく同じコードを使用することになります。これは正しい方法とは思えません。
これはこの問題への正しいアプローチですか?
AoEのようなゲームでは、すべてのユニットが、私が推測するもの、アクション/注文のリストのようなものを持っています。次に、そのアクションを必要とするすべてのユニットにそれを与えます。
はっきりしない(もっともらしい)場合、または探しているものに関する詳細情報が必要な場合は、コメントでお尋ねください。