<授業の内容 - 1> ・プログラミングの授業なのかそうでないのかはっきりしてほしい。 ↓ プログラミングを通じて,幾何学や色などを勉強しているのだが,対話的な処理をしようとすると,どうしてもプログラミングの知識が必要になる. <授業の内容 - 2> ・授業についてはやはりプログラムリストの細かな解説が多いので, もっと 大きな枠組みでこのようなことをするにはどうすればよい, などということに ついても触れて欲しいです。 ↓ なるべくバランスをとるように心がける予定ではある. <投票システム> ・投票システムでスペースを入力できるようにしていただけるとありがたいです。現在のシステムではス ペースの後の文字列が無視されてしまいました。 ↓ ダブルクオート「""」で囲んでください. <レポートの書き方> ・線が細かったので、線の太さを変えるにはどうしたらよいのか考えた。(途中省略)シンボル: 変数 i getGraphics().drawLine(oldX- i,oldY-i,x,y ); ^ エラー 2 個 というエラーが出てしまい、実行することは できなかった。 ↓ エラーメッセージが乗っているのは良いことだが,できればプログラムもレポート中に入れて欲しかった.というよりは,教科書にあるプログラムは,行番号などを指定して考察に使うのでなければなくても構わないないが,教科書にないプログラムは走らない場合であってもレポートに入れておいて欲しい. <Java(一般) - 1> ・intと、doubleの違いについて、少し教えてほしい ↓ 計算機内での数値の表現形式が異なっている.intは整数値を表現する形式で,doubleは小数や桁数の多い数値を近似的に表現する形式.多くの計算機言語で使い分けが必要となる. <Java(一般) - 2> ・this.bg = bg のところの意味が、いまいちわからなかった。 ↓ 授業で何回か触れたと思うが,オブジェクトのフィールド(インスタンス変数)とメソッドの引数(や局所変数)とを区別するための方法.周辺に 2種類の bg があることを確認して欲しい. <Java(一般) - 3> ・今までコンパイルの際に自動で生成していたため特に何も考えていなかった クラスファイルだったが、この例を見て1つのjavaファイル中に複数のclassファイルが 記述できることがわかった ↓ その通り.だが,publicなクラスは1つだけとなる. <Java(一般) - 4> ・BUTTON2_MASKで中央ボタンはwindowでもmacでも実行できる。Mac不可って書いてあ ったがどいうことでしょう。 ↓ 授業中に説明した(教室のiMacで実演した)ことだが,Java の仮想マシンのバージョンによって振舞いが変わってくる. <Java(一般) - 5> ・update関数とrepaint関数の違いがよくわからなかっ た。update関数もただ再描画しているだけのように思える。 ↓ repaintは,JVMに再描画要求を出して(paintないし)updateを呼び出すので,結果的に同じ振舞いをする. <プログラムの工夫 - ペイント風プログラム> ・Draw.java の一部を変更して、色を数色扱えるようにした。まず、l65からのpaintを追加して、画面の左上にパレットのようなものを表示させた。そして、l28からl37に かけてあるように各色の正方形内でクリックするとペンの色が変わりその色で描け るようにした。また、一番上の白い正方形をクリックすることで画面の全消去させ るようにしてみた。 ↓ ペイントソフトっぽくなってきている. <プログラムの工夫 - 複数の円を記録して描画する方法> ・章末課題で昨年のコメントを参考にして複数の円を描画する機能と、右クリックで今まで書い た円を消去する機能を追加した。 Vectorで円を書くのに必要な左上のx座標とy座標と直径を 保持した。自分の書いたプログラムではマウスがドラッグするたびにVectorに保持している円 をすべて書き直しているが、すでに書かれた円をそのままにして新しく書く円の部分だけを更 新して行くことは可能なのだろうか? ↓ 変化する円だけ白で描画するという方法もあるが,円の交差している部分が汚くなるので,全部を書く方が良いだろう.