回答編集履歴

2

最後に設計の話をした意図を追記

2017/11/25 11:44

投稿

LLman
LLman

スコア5592

answer CHANGED
@@ -84,4 +84,8 @@
84
84
 
85
85
  もちろん、分ける手間はありますが、デバッグの方が手間です。
86
86
  どうせ今のバグを取りのぞいても、すぐ別のバグが湧いてきますから、
87
- 徹底的に分離して**テスト**を書いた方が、結果的には早くできると思います。
87
+ 徹底的に分離して**テスト**を書いた方が、結果的には早くできると思います。
88
+
89
+ 最後に、今回の回答で設計の話を中心にしたのは、GAを使うレベルまで来ると、
90
+ ソースのIF文やFor文を追うだけでは対処療法でしかなく、
91
+ 全体の設計ができてないと、正しく動かすのが難しいからです。

1

ファクトリについて追加

2017/11/25 11:44

投稿

LLman
LLman

スコア5592

answer CHANGED
@@ -55,6 +55,10 @@
55
55
  そうしたら、タワーディフェンスのキャラクターのクラスからは、
56
56
  GAの自作ライブラリを使う感じにします。つまり、内部の実装には触れない。
57
57
 
58
+ さらに言うと、GAライブラリは移動や回転をしている部分からは呼ばず、
59
+ なるべくファクトリから(だけ)使うことを考えます。
60
+ GAを使う以上、複数キャラを作るはずで、生成と相性が良いからです。
61
+
58
62
  なお、最近のGAは、たとえば島に分けるとか、いろいろ工夫しており、
59
63
  複雑になるようなら、**名前空間**(Javaでいうパッケージ)の単位で、
60
64
  より大きくグループ化しても良いでしょう。というか、私なら分けちゃうかも。