マルチメディア・プログラミング実習 第11回
多くの部品からなるアプレットの開発(1)
多くの部品のクラスを持つ少し複雑なアプレットの開発例を紹介します。
準備:
いつものようにディレクトリ www の下のディレクトリ javaに移動しなさい。
学内の人は、
紹介するサンプルのソースファイルを次のような手順で手に入れなさい。
UnZip は zipファイルを解凍・展開するプログラム unzip の Java版
です。
cp ~tatsuo/UnZip.class .
cp ~tatsuo/src.zip .
java UnZip src.zip
準備課題
「前回までの課題から再利用するクラス」
*既に作成されているはずですが、
まだ終わっていない人はここから始めてください。
-
数値をパラメータとして受け取る機能を持つ Applet2と
部品のクラス Cellを利用します。
ソース・プログラム
Applet2.java
と
Cell.java
があることを確認してください。ない場合は作成してください。
(教科書 P.132,P.144)
基本課題:1
「ゲームボードの第1段階のアプレット」
-
Applet2 を拡張して
ゲームに必要な土台の役割をするアプレットを作ります。
このアプレットは、ゲーム版のサイズ、縦横のセルの数を
パラメータとして HTML ファイルから受け取り、設定します。
ソース・プログラム
BaseBoard.java
の内容を確認しなさい。(教科書 P.155)
基本課題:2
「ゲームボードの第2段階のアプレット」
-
BaseBoard を拡張して
ゲームに必要な土台の役割をするアプレットを作ります。
このアプレットには、
Cellの管理とグラフィックの表示の機能を追加します。
ソース・プログラム
CellBoard.java
の内容を確認しなさい。(教科書 P.156)
基本課題:3
「ゲームボードの第3段階のアプレット」
-
CellBoard を拡張して
ゲームに必要な土台の役割をするアプレットを作ります。
このアプレットには、
ゲームの進行の基本的な処理とイベント処理の機能を追加します。
(このクラスは abstract なので、
まだ現実のアプレットとして実行することはできません。)
ソース・プログラム
ActionBoard.java
の内容を確認しなさい。(教科書 P.158)
基本課題:4
「部品のクラス Block」
-
ゲームで利用する部品のクラスを作ります。
このクラスは複数の Cellクラスのオブジェクトから構成されます。
ソース・プログラム
Block.java
の内容を確認しなさい。(教科書 P.160)
基本課題:5
「部品のクラス Trash」
-
ゲームで利用する部品のクラスを作ります。
このクラスは複数の Cellクラスのオブジェクトから構成されます。
ソース・プログラム
Trash.java
の内容を確認しなさい。(教科書 P.162)
基本課題:6
「インターフェイス Clearable」
-
ゲームで必要な機能を提供するインターフェイスを作ります。
Clearableはインターフェイスですが、ソースファイルの取り扱いや
コンパイルの方法、バイトコードの形式などは、通常のクラスと同じです。
ソース・プログラム
Clearable.java
の内容を確認しなさい。(教科書 P.164)
基本課題:7
「Clearableを実装したクラス ClearableTrash」
-
Trashクラスに Clearableの機能を実装した ClearableTrashクラスです。
ソース・プログラム
ClearableTrash.java
の内容を確認しなさい。(教科書 P.154)
基本課題:8
「ゲームボードの最終段階のアプレット」
-
ActionBoard を拡張して
ゲーム本体のアプレットを完成させます。
ソース・プログラム
GameBoard.java
の内容を確認しなさい。(教科書 P.167)
- javac コマンドでコンパイルをしなさい。
- アプレットを呼び出す HTMLファイル
GameBoard.html
の内容を確認しなさい。(教科書 P.152)
- Appletviewer に
HTMLファイルの URL を指定して表示させてみなさい。
応用課題
「オリジナルのアプレットを開発する」
これまで学んできたことの仕上げとして、
各自のアイディアに基づくオリジナルのアプレットを作成してもらいます。
- 提出期限:7月26日(土)
- 提出方法:各自のアプレットを組み込んだ HTMLファイルの URL を
tatsuo 宛にメールで知らせなさい。(Subject は Applet としてください。)
実習の目次
今週の講義の内容