日記(376)

<前 次>

ドラゴンクエスト10

強敵に挑む根性もないし、プチゴースネル召喚符大量生産中。

それいけ!アンパンマン かがやけ!クルンといのちの星

DVD、買いました。
アンケートには、BDも出してくれって書いときました。

funyak

共通当たり判定のための判定図形リストはマップ側にまとめて持つ。
マップはマップオブジェクトに対し、判定図形の登録削除インターフェースを提供する。
マップが当たり判定を行うと、マップオブジェクトが判定図形の情報を得る。
判定図形はマップオブジェクトの都合で追加の情報を持つことができ、例えば、ほっぺに当たったとか、おでこに当たったとかを判断して制御できる。
こんな感じか。

funyak

試しに抽象クラスにしてみたところ、どうにもうまくいかない。
インターフェースのプロパティと抽象プロパティの扱いが異なっていて、抽象プロパティだと基底クラスで読み取りのみとすると派生クラスで書き込み可能にすることができない。
基底クラスの段階では、読み取り機能だけ保証して、書き込みは派生クラスの方針に任せるようにしたいのだ。
そもそも、強制しなければならない共通実装とは具体的に何だったのだろうか?

funyak

マップオブジェクトの一番の基底はインターフェースにしてあるけど、どのマップオブジェクトでも同じ実装で構わないものや、むしろ同じ実装でなくてはならないものもある。
すると、実装がなく型のみのインターフェースは不適切になりそうだ。
となれば、抽象クラスか。
細分化の方針も一度見直しが必要かもしれない。

<前 次>