グラフィックス基礎及び実習 2021年度 第13回 実習と宿題

課題A,Cのための準備

  1. Graphics チームから以下の2つのクラスファイルをダウンロードして,自分の Graphics20XY フォルダに置く.ファイルの配布場所については,Graphics チームの「ch05. 全般的な質問用」チャネルの「実習用のファイル等の配布場所」という記事を参照してください.
    • HW3Sample.class
    • HW3PaneSample.class
    • hw3pane.css
  2. 以下のプログラムを作って,HW3Sample クラスの動作確認をしよう.
    public class Test4HW3Sample {
         public static void main(String[] args){
    
            HW3Sample p1 = new HW3Sample();
            System.out.println("名前: " + p1.getName());
            System.out.println("身長(cm): " + p1.getHeight());
            System.out.println("体重(kg): "+p1.getWeight());
            System.out.println("BMI: " + String.format("%.2f", p1.calcBMI()));
            System.out.println("判定: " + HW3Sample.getMessage(p1.calcBMI()));
            System.out.println();
    
            HW3Sample p2 = new HW3Sample("ふがよ", 234.5, 50.0);
            System.out.println("名前: " + p2.getName());
            System.out.println("身長(cm): " + p2.getHeight());
            System.out.println("体重(kg): "+p2.getWeight());
            System.out.println("BMI: " + String.format("%.2f", p2.calcBMI()));
            System.out.println("判定: " + HW3Sample.getMessage(p2.calcBMI()));
            System.out.println();
    
            HW3Sample.setBorder1(5.0);
            HW3Sample.setBorder2(8.0);
            System.out.println("判定: " + HW3Sample.getMessage(p2.calcBMI()));
    
        }
    }
    
  3. 以下のプログラムを作って,HW3PaneSample の動作確認をしよう
    import javafx.application.Application;
    import javafx.stage.*;
    import javafx.scene.*;
    import javafx.scene.control.*;
    import javafx.scene.layout.*;
    
    public class G14HW3 extends Application {
        @Override
        public void start(Stage pstage) {
    	HW3PaneSample hw3pane1 = new HW3PaneSample();
    	HW3PaneSample hw3pane2 = new HW3PaneSample();
    	HBox root = new HBox(hw3pane1, hw3pane2);
    	root.getStyleClass().add("myPane");
    	Scene scene = new Scene(root);
    	scene.getStylesheets().add("hw3pane.css");
    	pstage.setScene(scene);
    	pstage.setTitle("G14HW3");
    	pstage.sizeToScene();
    	pstage.show();
        }
        public static void main(String[] args) {
    	launch(args);
        }
    }
    
  4. G14HW3 を実行してみましょう.テキストフィールドに適当な文字・数字を入力して動作確認しよう.

ちなみに,3つのクラスの関係は下図のようになってます(Sampleのついてないクラス名で説明しています).

G14HW3.png

実習課題A 締切: 当日13:30

以下のことをやって,作ったソースファイルを moodle の該当の場所へ提出してください. ファイル名の間違いに注意

以下のAPI仕様を満たす HW3 クラスを作ろう

HW3 クラスのAPI仕様

実習課題B 締切: 当日16:00

以下のことをやって,作ったソースファイルを moodle の該当の場所へ提出してください. ファイル名の間違いに注意.

悪い教員に唆されて青春の無駄遣いをしてしまった先輩がた

の成果を,Graphicsチームの方で紹介してます(Doraる?).大学院楽しいよ

Step1 真っ白なキャンバス

  1. 次の内容のソースファイル DoraPane.java を作ろう.
    import javafx.scene.layout.*;
    import javafx.scene.canvas.*;
    import javafx.scene.paint.*;
    
    public class DoraPane extends Pane{
    
        public DoraPane(){
    	Canvas canvas = new Canvas(300, 300);
    	this.getChildren().add(canvas);
            this.setStyle("-fx-background-color: white;");
    	this.draw(canvas);
        }
    
        private void draw(Canvas c){
            // 今はまだ空っぽ
        }
    }
    
  2. 次の内容のソースファイル G13Dora.java を作ろう.
    import javafx.application.Application;
    import javafx.stage.*;
    import javafx.scene.*;
    import javafx.scene.control.*;
    import javafx.scene.layout.*;
    
    public class G13Dora extends Application {
        @Override
        public void start(Stage pstage) {
    	DoraPane dora = new DoraPane();
    	BorderPane root = new BorderPane();
    	root.setCenter(dora);
    	Scene scene = new Scene(root);
    	pstage.setScene(scene);
    	pstage.setTitle("G13Dora");
    	pstage.sizeToScene();
    	pstage.show();
        }
        public static void main(String[] args) {
    	launch(args);
        }
    }
    
  3. G13Dora.java をコンパイルして G13Dora を実行しよう.この時点では 300x300 の真っ白なキャンバスが描かれるはずである.

Step2 Dora を描く

draw メソッドの中身を書いて,Doraを描こう.ただし,

Step3 仕上げよう

  1. ex12課題BのDoraPaneSampleのAPI を参考に,DoraPane.java に必要なものを追加しよう.
    • onNose メソッドは,自分の Dora の鼻の位置に合わせるようにしよう.
    • メソッド名や変数名などは変えてはいけませんが,mEntered などの変数の値は,自分の Dora らしくしたらよいです
  2. G12Dora で DoraPaneSample を使っているところを DoraPane に変更して,ちゃんと動くことを確認しよう.

Step4 提出しよう

提出するのは,DoraPane.java のみです.

実習課題C 締切: 来週13:30

以下のことをやって,作ったソースファイルを moodle の該当の場所へ提出してください. ファイル名の間違いに注意.

次のことをやりましょう.

  1. HW3PaneSample と同様の動作をするプログラムを作る.クラス名は HW3Pane とする
  2. G14HW3 で HW3PaneSample を使っているところを HW3Pane に書き換えて動作確認する
  3. 完成した HW3Pane.java を提出する

次のことに注意

宿題

次回授業までに必ずやっておくこと

次回の授業の資料(PDFや動画)等は こちら からどうぞ.

  1. 講義資料を入手.紙でほしい方は各自で印刷してください.

    キャンパス内各所に設置されたプリンタで印刷することもできます.くわしくは「ポータル > 情報環境 > マニュアル > 印刷利用マニュアル」参照.

  2. 授業動画を視聴する

    学内の実習室等に設置の PC ではスピーカから音が出ませんので,イヤフォン/ヘッドフォンを用意する必要あり

  3. 講義資料・授業動画に出てくるプログラムを実際に作って実行してみる

実習課題S(omake) 締切:

これはおまけ課題です.やらなくても減点になりません.やったら加点かも

(moodle の「おまけ課題」のところに,「自由課題」というのを書いときました.よかったら見てね)

今回出題のおまけ課題はありません.../ex14#kadaiS をどうぞ.


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-07-12 (月) 11:14:01