CGプログラミング論 平成27年4月29日 森田 彦 【基礎課題2-1 】の解答 ① x=10; A B C x=30; ② for (int i=1; i<=3; i++) A ③ B h=20; 行が3つに C 高さが半分に C A B 【基礎課題2-2 】の解答 if( ((i%2)==0 && (j%2)==0) || ((i%2)==1 ① (j%2)==1) ((i%2)==1 && && (j%2)==1) ) { g.fillRect(x,y,w,h); } (行、列共に奇数) 【応用課題2-A 】の解答 if( } i==j ① g.fillRect(x,y,w,h); ) { 【応用課題2-B 】の解答 void DrawGraphics(Graphics g) { int Gyou=Integer.parseInt(jTextFieldGyou.getText()); int Retsu=Integer.parseInt(jTextFieldRetsu.getText()); int width=myPanel1.getWidth(); //パネル幅の取得 int height=myPanel1.getHeight(); //パネルの高さの取得 int x,y,w,h; x=0; //描画するマスの左上隅のx座標(右方向の位置) y=0; //描画するマスの左上隅のy座標(下方向の位置) 列数 width/Retsu; ① w= width/Retsu; //マスの横幅 h= ・・・ height/Gyou; height/Gyou; ② //マスの高さ 行数 本日の学習内容 ピラミッド図形の描画 作成するプログラム 提出課題 【基礎課題3-1】~【基礎課題3-4】および【応 用課題3-A】の5題です。 演習課題の受け取りについて 原則として講義時間内に提出してもらいます。提出 が遅れた場合は以下のように減点とします。 基礎課題 応用課題 講義時間内 終了後1時間以内 100% 90% 100% 100% 1時間超~当日中 70% 100% 翌日の17:00まで 0% 100% それ以上の遅れ 0% 0% 課題内容によっては、上の基準を緩和します。その際は講義 時にアナウンスします。 基礎課題3-1 void DrawGraphics(Graphics g) { int x,y,w,h; w=15; //マスの横幅 h=15; //マスの高さ g.setColor(Color.red); //描画色を赤色に指定 for (int i=1; i<=10; i++) { //行方向の繰り返し 10+(10-i)*w ① x= C10+(10-i)*w ; //次行のマスの描画開始位置 y=10+(i-1)*h; //描画位置を下にhだけずらす for (int j=1; j<=2*i-1; j++) { //列方向の繰り返し g.drawRect(x,y,w,h); //マスを描く x=x+w; //描画位置を右にwだけずらす } } } i=1のとき x=10+9*w i=2のとき x=10+8*w i=3のとき x=10+7*w となるためには・・・ 基礎課題3-2 void DrawGraphics(Graphics g) { int x,y,w,h; w=15; //マスの横幅 h=15; //マスの高さ for (int i=1; i<=10; i++) { //行方向の繰り返し x=10+(10-i)*w; y=10+(i-1)*h; for (int j=1; j<=2*i-1; j++) { //列方向の繰り返し j== 1 || ① j==2*i-1 if( j==1 j==2*i-1 ) { g.setColor(Color.red); //描画色を赤色に指定 g.fillRect(x,y,w,h); //マス内を塗りつぶす g.setColor(Color.black); //マスの外枠の描画色を黒色に指定 g.drawRect(x,y,w,h); //マス(の外枠)を描く } x=x+w; //描画位置を右にwだけずらす } } } ① 基礎課題3-3 void DrawGraphics(Graphics g) { int x,y,w,h; w=15; //マスの横幅 h=15; //マスの高さ for (int i=10; i>=1 ; i--) { ① A 10+(10-i)*w x= 10+(10-i)*w ; //行方向の繰り返し y=10+(10-i)*h; for (int j=1; j<=2*i-1; j++) { //列方向の繰り返し g.setColor(Color.red); //描画色を赤色に指定 g.fillRect(x,y,w,h); //マス内を塗りつぶす g.setColor(Color.black); //マスの外枠の描画色を黒色に指定 g.drawRect(x,y,w,h); //マス(の外枠)を描く x=x+w; //描画位置を右にwだけずらす } } } i=10のとき x=10+0*w i= 9のとき x=10+1*w i= 8のとき x=10+2*w となるためには・・・ ① 基礎課題3-4 void DrawGraphics(Graphics g) { int x,y,w,h; w=15; //マスの横幅 h=15; //マスの高さ for (int i=1; i<=10 ; i++) { //行方向の繰り返し x=10+(i-1)*w; y=10+(i-1)*h; ① C 2*(11-i)-1 for (int j=1;j<= 2*(11-i)-1 ; j++) { //列方向の繰り返し g.setColor(Color.red); //描画色を赤色に指定 g.fillRect(x,y,w,h); //マス内を塗りつぶす g.setColor(Color.black); //マスの外枠の描画色を黒色に指定 g.drawRect(x,y,w,h); //マス(の外枠)を描く x=x+w; //描画位置を右にwだけずらす } } } マスの個数 i=1のとき i=2のとき i=3のとき 19 17 15 となるためには・・・ 演習課題の受け取りについて 原則として講義時間内に提出してもらいます。提出 が遅れた場合は以下のように減点とします。 基礎課題 応用課題 講義時間内 終了後1時間以内 100% 90% 100% 100% 1時間超~当日中 70% 100% 翌日の17:00まで 0% 100% それ以上の遅れ 0% 0% 課題内容によっては、上の基準を緩和します。その際は講義 時にアナウンスします。
© Copyright 2024 ExpyDoc