<演習1>の解答例 |
int sum; void setup() { sum = 0; add5(); // sumに5を加算 add10(); // sumに10を加算 add10(); // sumに10を加算 println("sum = " + sum); } void add5() { sum += 5; } void add10() { sum += 10; } |
<演習2>の解答例 |
void setup() { int a1 = 152, a2 = 213, a3 = 137; //int a1 = 96, a2 = 85, a3 = 92; int ans = min3( a1, a2, a3 ); println("最小値 = " + ans); } // 最小値を返す関数 int min3(int x1, int x2, int x3) { int ret = x1; if(ret>x2 ) ret = x2; if(ret>x3 ) ret = x3; return ret; } |
<演習3>の解答例 |
void setup() { size( 400, 400 ); background( 255 ); drawDango(100); drawDango(200); drawDango(300); } // 三色だんごを描画する関数 void drawDango(int x) { noStroke(); fill( c0 ); rect( x, 100, 8, 200 ); // 串の描画 fill( c1 ); ellipse( x+4, 135, 50, 50 ); fill( c2 ); ellipse( x+4, 185, 50, 50 ); fill( c3 ); ellipse( x+4, 235, 50, 50 ); } |
<演習4>の解答例 |
void setup() { size( 400, 400 ); background( 255 ); drawDice(1); // 1~6を指定して呼び出す } // サイコロを描画する関数 void drawDice(int n) { fill( 255,255,255 ); // 白色 rect( 0,0, 50,50 ); fill( 0, 0, 0 ); // 黒色 switch( n ){ case 1: fill( 255, 0, 0 ); // 赤色 ellipse( 25,25, 16,16 ); break; case 2: ellipse( 25-10,25-10, 8,8 ); ellipse( 25+10,25+10, 8,8 ); break; case 3: ellipse( 25-12,25-12, 8,8 ); ellipse( 25+12,25+12, 8,8 ); ellipse( 25,25, 8,8); break; case 4: ellipse( 25-10,25-10, 8,8 ); ellipse( 25-10,25+10, 8,8 ); ellipse( 25+10,25-10, 8,8 ); ellipse( 25+10,25+10, 8,8 ); break; case 5: ellipse( 25-12,25-12, 8,8 ); ellipse( 25-12,25+12, 8,8 ); ellipse( 25+12,25-12, 8,8 ); ellipse( 25+12,25+12, 8,8 ); ellipse( 25,25, 8,8 ); break; case 6: ellipse( 25-10,25-14, 8,8 ); ellipse( 25-10,25, 8,8 ); ellipse( 25-10,25+14, 8,8 ); ellipse( 25+10,25-14, 8,8 ); ellipse( 25+10,25, 8,8 ); ellipse( 25+10,25+14, 8,8 ); break; } } |
<演習5>の解答例 |
int x; int dx; // x座標の増加量 void setup() { size( 400, 400 ); x = 0; dx = 1; } void draw() { background( 255 ); ellipse( x, 200, 20,20 ); x = x + dx; } // マウスボタンが押されたら呼ばれる関数 void mousePressed() { dx *= -1; // プラスマイナスを変更する } |
<演習6>の解答例 |
void setup() { size( 400, 400 ); } void draw() { background( 255 ); line(200,0,200,400); // +を描画 line(0,200,400,200); fill(0,255,0); // 緑色 if( mousePressed==false ) return; // 押されてなければ戻る if( mouseX<200 ){ if( mouseY<200 ){ rect( 0,0, 200,200 ); // 左上 }else{ rect( 0,200, 200,200 ); // 右上 } }else{ if( mouseY<200 ){ rect( 200,0, 200,200 ); // 左下 }else{ rect( 200,200, 200,200 ); // 右下 } } } |