基底クラスの設計について、ちょっと考えたい。
■ 例えば、すべての敵の規定となるenemyクラスを実装するとする。
・敵に共通する特徴は次のとおりである。
ライフを持つ。
攻撃を受けるとライフが減る。
ライフがなくなるとやられモーションを残して消滅する。
プレイヤーに触れるとダメージを与える。
ダメージを受けた時の無敵時間判定。
・敵ごとに異なる特徴もある。これらは別途実装することにする。
重力の影響を受けるか否か。
弾を撃つか?体当たりだけで攻撃してくるか?
倒されるとアイテムを放出するか?
設定されるスプライト。
設定されるアニメーション。
?ここで疑問?
プレイヤーに接触してもダメージを与えない敵はどうする?
倒せない敵はどうする?別のクラスを規定するか?(Trapとか。)
複数のオブジェクトが合体して一つのキャラクターになっている多関節の敵キャラなどはどうするか?
■ 地面や壁を表す、Wallクラス
・共通すること。
キャラや敵が触れた時、突き抜けず上に乗ったり、道を阻んだりする。
・それぞれ異なる特徴
スプライトの種類。
移動床か否か。プレイヤーがしたから突き抜けられるか?