シューティングゲームには自機や敵機、弾などさまざまな「もの」がでてきます。そして、それらの「もの」がゲームの中でそれぞれの特性に応じた「動作」をし、他のものに影響を与えることでゲームが進んでいくわけです。このような「もの」を抽象化して、ゲーム内の「もの」それぞれに「各自に応じた動作」を行わせる仕組みがあれば、ゲームのシステム全体は非常に見通しの良いものになりますね。もののリストを保持して、あとはそのリスト内のものに「動作を起こせ」とメッセージを送るだけでゲームが「進行」するわけですから。 今回は、そんな抽象化された「もの」を中心とするゲームシステムを作ってみましょう。このような抽象化された「もの」を「オブジェクト」という単位にまとめ組み合わせていく設計手法は「オブジェクト指向」的な設計と呼ばれていますが、今回はC++のクラス機能を利用してゲーム内の「もの」をオブジェクトとして扱うオブジェク