9-1 | インベーダーゲームを作ってみよう |
9-2 | インベーダーを手動で動かそう |
9-3 | インベーダー・弾を自動的に動かそう |
9-4 | 命中判定をしよう |
9-5 | インベーダーを増やそう |
9-6 | すべてのインベーダーを動かそう |
本章から第11章にかけて、いよいよオブジェクト指向プログラミングの神髄に迫ることにします。幾分レベルの高い内容ですが決して難しくはありません。学習が進むにつれ、「オブジェクト指向プログラミングって便利なものだ。これは色々と使えそうだぞ。」 と興味がふくらんで来るはずです。もしそうなれば、あなたはかなりのレベルに到達したことに…。ぜひ皆にそうなって欲しいですね。
さて、まず本章では、インベーダーゲームを作成します。ねらいは、二つあります。
一つは、第8章で学習した「処理の分割」を適用して、インベーダーゲームをまとまりある処理単位に分割することです。ここでは、インベーダーゲームの構成要素を、「インベーダー」、「(インベーダーをねらう) 弾」、ゲームを表示する「表示盤」、ゲームの操作を行う「操作盤」に分割して作成します (各々に対してフォームを用意するので4つのフォームを持ったプログラムになります)。実はこれら構成要素は“オブジェクト”に対応します。
ねらいの第2は本章のタイトルになっているフォームの複製です。もっと正確にはフォームの生成と言った方が良いでしょう。9-5 では、フォームの生成を使って、最初は1機だったインベーダーを4機に増やします。本文を読めば分かる通り、一旦あるフォームを作成すると、変数を宣言するのと同じような要領で、同じ種類 (型) のフォームを生成するができます。ところで、「インベーダー」フォームはオブジェクトです。ですからこのことは、オブジェクトの原型ができれば同種のオブジェクトの生成は容易に行えることを意味します。これがオブジェクト指向プログラミングの重要なメリットの一つです。
以下の各節では、(これまで通り) 説明に従ってプログラムを作成するという形式で進んで行きますが、学習の便宜を考えて説明に用いたプログラムをプログラミング B ホームページの該当個所からダウンロードすることができるようになっています。適宜活用してください。