一定の幅と高さをもつボードがある。ボード上には左上隅を原点とする座標系(x座標、y 座標)が定義されているとする。この時、つぎの条件を満たすように二辺の長さ(幅と高さ)と左上の位置を表す座標をもつ長方形をボード上に配置するプログラムを作成しなさい。座標系の単位はピクセルとする。ボードの大きさは最、CUIで場合には固定値 500×400 とする。
(1) 配置に関する以下の操作を行うことができる。各操作の名前には下線が引かれている。
a) 幅、高さ、左上の位置(x座標、y座標)を与えて長方形を作成する。create
(2) その他に次の操作を行うことができる。
a) ボード上の長方形を表示する。displayBoard
ここで「ボード上の長方形を表示する」とはボード上にあるすべての長方形の属性(幅、
高さ、x 座標、y 座標)を表示する(標準出力に出力する)ということ。
b) 配置に関する操作を終了する。 exit
(3) ユーザはキーボード(標準入力)から(1)の操作名と必要なデータを入力し、プログラムが結果のボード上のデータ(どの位置にどの長方形が配置されているか)を標準出力に出力する。このプログラムは以下のように使用することができる。
a) 起動すると、操作一覧が表示される。
b) ユーザは操作を選択し、要求されるデータを入力する。
c) 操作の実行が終了すると、操作一覧に戻り、exit が実行されるまで操作を選択することができる。
(4) 長方形に関する条件:
a) ボード上で同じ幅、高さ、位置をもつ長方形は同一の長方形とみなす。
b) 今回は点および線分は長方形とはみなさない。
c) ボード上に配置できる長方形の数の上限は 10 とする。
(5) 操作に関する条件:
a) ある操作によって、ボードから長方形がはみ出す場合には、その入力の値を無効として、操作をやり直す。
b) 操作が無効である場合は、適切なメッセージを出力する。
(6) クラス構成に関する条件:
RectangleEditor:mainメソッドをもつクラス
Rectangle:長方形のクラス
Board:長方形を配置するボードのクラス
Command: ユーザからの入力を受け取り、長方形に対する操作を呼び出し、ボードの状態を更新するクラス
このようなプログラムの課題がでたのですがどのクラスにどれのインスタンスの生成をしていけばよいのかわかりません。よろしくお願いします
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。