はじめに 例えばシューティングゲームを作る場合、敵を何十種類か実装して、それぞれ別の動きをさせたいでわけです。 しかしながらc++では(他の言語でも)そういう機能の実現方法がたくさんあり、最高の設計をするのは至難です。 この記事では敵の種類毎に別の動きをさせる方法について色々説明します。 それによって、どういう仕様の場合どうやって処理を分岐させるのが良いか考える助けになるかと思います。 サンプルを動くように実装するのは手間なので、そういう風にはしてません。 ※マークダウンでは表示が狂いますが、識別子に日本語を使うのはg++以外では特に問題無いです。 switchによる処理の分岐 プログラミングを始めたばかりの人はまずこんな感じにすると思われる。 あるいはif文でも似たような事したり。 enum class EnemyType { スライム, ゴブリン, ドラゴン }; class Enem