第5回 Smalltalk の総合練習(5月7日;5月15日)

■ 課題

旗の図形オブジェクトと図形を格納するオブジェクトを作ろう。旗の図形オブジェクトは、FlagMorph というクラス名で定義しよう。FlagMorph は RectangleMorph と StarMorph を組合せた図形である。RectangleMorph の基準点より x 軸方向に 11、y 軸方向に 6 だけ離れたところに、StarMorph を表示するものとする。ここで、FlagMorph は以下のメッセージが処理できるものとする。

図形を格納するオブジェクトは、ShowCase というクラス名で定義しよう。ShowCase は、Bag と同じく、複数のオブジェクトを格納するものである。ただし、格納するオブジェクトは、StarMorph や RectangleMorph と同様に、position:、openInWorld、delete の 3 つのメッセージが処理できることとする。ここで、ShowCase は以下のメッセージが処理できるものとする。

レポートには、クラスの定義、メソッドの定義、実行用のワークスペース、および、画像の表示を印刷し、各要所にコメントを手書きして提出せよ。

実行の様子を以下に例示する。

実行の様子の例


(C) 2009.4.30 by tokuhisa