2018 年度 プログラミング実習 II

課題 R5B(第5章)

[2018/5/15, 17]


[R5B_1] (必修)

R5A_2のプログラムを変更し,教科書の5.2節を参考にして,円,長方形,画像のクラスが持つ重複部分を抽象クラスSimpleFigureを用いてまとめ,それぞれのオブジェクトを表示しなさい.
注意:円,長方形,画像のクラスのコンストラクタの中で必ずsuperを用いること.

*eclipseで実行する場合,画像ファイルはプロジェクトのフォルダのルート(R5B_1フォルダ)に置くようにせよ.
*レポート提出の際はR3_2同様,画像ファイルを一度デスクトップにコピーし,次に,全てのファイルを選択してから右クリックで「送る」 -「圧縮(zip形式)フォルダー」を選択してR5B_1.zipに圧縮し,その圧縮ファイルとR5B_1.java単体を両方別々に提出すること.

[R5B_2] (必修)

抽象クラスSimpleFigureを継承した〇印と×印を表示するクラスをそれぞれ新たに定義する.次に,R5B_1のプログラムを変更し,〇印と×印のクラスと,R5A_3で作成した名前のクラスをまとめ,それぞれのオブジェクトを表示しなさい.
注意:〇印,×印,名前のクラスのコンストラクタの中で必ずsuperを用いること.

[R5B_3] (必修)

教科書の例題5-3を参考にして,マルバツ(三目並べ)のプログラムを作成せよ.ただし,○×の図形代わりに2種類の画像)を使用し(例えば犬と猫の 画像ファイルを使用する),3X3に配置したマスのうちクリックしたマスにいずれかの画像を表示するようにせよ.
下記のインターフェースFigureをimplementsした抽象クラスSimpleFigureを利用し,これをextendsして画像を表示する2種類のクラス(例えばDog クラスと Catクラス)を作成すること.

    interface Figure {
      public void draw(Graphics g);
    }

*既に画像を表示した場所に重ねて表示してもよい.
*eclipseで実行する場合,画像ファイルはプロジェクトのフォルダのルート(R5B_3フォルダ)に置くようにせよ.
*レポート提出の際はR3_2同様,画像ファイルを一度デスクトップにコピーし,次に,全てのファイルを選択してから右クリックで「送る」 -「圧縮(zip形式)フォルダー」を選択してR5B_3.zipに圧縮し,その圧縮ファイルとR5B_3.java単体を両方別々に提出すること.

[R5B_4] (オプション)

例解5-3-a,b,cを参考にし,R5B_3を拡張して勝敗判定付きの五目並べを作成せよ.ただし,縦横の方向は5目並んだら勝ちで,斜めの方向は3目並んだら勝ちとせよ.また,表示する画像の大きさはマスの大きさと一致させ,同じ場所に重ねて画像を表示してはならない.マスの数/大きさ/色は自由であるが,ウィンドウからはみ出ないようにし,また画像の判別が可能な程度の大きさに調整せよ.

*eclipseで実行する場合,画像ファイルはプロジェクトのフォルダのルート(R5B_4フォルダ)に置くようにせよ.
*レポート提出の際はR3_2同様,画像ファイルを一度デスクトップにコピーし,次に,全てのファイルを選択してから右クリック で「送る」 -「圧縮(zip形式)フォルダー」を選択してR5B_4.zipに圧縮し,その圧縮ファイルとR5B_4.java単体を両方別々に提出すること.