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

実習課題A 締切: 当日15:00

以下の二つができたら, TA さんを呼んでチェックしてもらいましょう. オンライン受講のひとは moodle を確認してね

T33 を元にして P35 をつくる

p.28 練習問題3.7をやりましょう.内容は次の通り

  1. T33.java を作る(宿題でやってるはず).
  2. それを元にして P35.java というソースを作り,
    int n = 8, k = 5;
    として n 角形の各辺の周りに k 角形が描かれるようにする.n, k をいろいろ変えても正しく動作するようにしてください.

P35 を改造する

  1. P35.java の適切な場所に次の1行を追加
    import javafx.scene.paint.*;
  2. P35.java の
     for(int j = 0; ... 
    の行の直後に,if 文を使った次の処理を挿入する.
    • j を 5 で割った余りが 1 か 3 なら m.setColor(Color.RED) する
    • j を 5 で割ったあまりが 2 なら m.setColor(Color.BLUE) する
    • 上記のいずれにも当てはまらない場合は, m.setColor(Color.GREEN) する
  3. ソースの最後の行に,氏名と学籍番号をコメントとして記しておいてください

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

以下のことができたら, TA さんを呼んでチェックしてもらいましょう. オンライン受講のひとは moodle を確認してね

G03RandomQ.png

次のことをやりなさい.

  1. 上記のプログラムを作成する(G03Random)
  2. 実行する.
  3. かめさんがフレームの外にいってしまうのを避けるため,次のように修正しよう.

    繰り返しのたびにかめの位置をチェックし,かめがフレーム中央の 300 x 300 ピクセルの領域より外に出ていたら,中央に移動させる.この課題では,フレームの大きさもこの領域の大きさも固定で変更されないものとして考えて構いません(余裕のあるひとは,それらを変数に入れて変更可能にする手を考えるとよいでしょう).

check 5行目で,TurtleFrame クラスのコンストラクタが引数ありで呼ばれてますね.p.12 の TurtleFrame クラスのAPI仕様のコンストラクタの所を確認すると,この場合,フレームの大きさは ? x ? ですね.ということは,中央 300 x 300 の範囲かどうか調べるにはどういう条件式を書いたらよいでしょう?

check うまくできたと思えたら,実行してメニューから Speed > very fast を選択してみよう.

check ソースの最後の行に,氏名と学籍番号をコメントとして記しておいてください

宿題

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

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

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

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

  2. 授業動画を視聴する

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

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

実習課題S(omake) 締切: 次回実習時間開始直後

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

以下のプログラムとその実行結果を参考にして,キーボードから年月日を入力すると,その日の曜日を教えてくれるプログラムを作ろう.

/** キーボードから入力した数の和を表示 */

import java.util.*;  // Scanner クラスのために

public class G03Scan{

    public static void main(String[] args){
	
	// Scannerクラスの使い方は,p.208やJava API参照
	Scanner s = new Scanner(System.in);
	double sum = 0.0;

	System.out.println("スペースや改行を区切りにしていくつか数値を入力してみてね");
	System.out.println("最後は数値以外の文字を入力してね");
	while(s.hasNextDouble()){
	    sum += s.nextDouble();
	}
	System.out.println("合計は" + sum + "だぴょん");
    }
}
$ java G03Scan
スペースや改行を区切りにしていくつか数値を入力してみてね
最後は数値以外の文字を入力してね
1 1 3.14     ← キーボードからの入力
1 1 1        ← キーボードからの入力
hoge 999     ← キーボードからの入力
合計は8.14だぴょん

トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-04-23 (金) 17:38:48