今回は具体的なfor loopの使用例を見ていきましょう。
例えば、画面のランダムな位置に10個の円を描きたい場合、通常であればこんな風に10回、円を描け!と命令する必要があります。
void setup(){ size(800, 800); background(0); ellipse(random(width), random(height), 50, 50);//1個目 ellipse(random(width), random(height), 50, 50);//2個目 ellipse(random(width), random(height), 50, 50);//3個目 ellipse(random(width), random(height), 50, 50);//4個目 ellipse(random(width), random(height), 50, 50);//5個目 ellipse(random(width), random(height), 50, 50);//6個目 ellipse(random(width), random(height), 50, 50);//7個目 ellipse(random(width), random(height), 50, 50);//8個目 ellipse(random(width), random(height), 50, 50);//9個目 ellipse(random(width), random(height), 50, 50);//10個目 }
確かにこの方法でも書けますし、ただコピペするだけなのでそれほど難しくもないでしょう。(実際このプログラムは動くので、processingに貼り付けて実行してみてください。)
ですが、これが100個だったら?1000個だったら?コピペします?マジで?
そうです、こういう時にfor loopを使うのです。
void setup(){ size(600, 600); background(0); for(int i = 0;i<1000;i++){ ellipse(random(width), random(height), 50, 50);//1〜1000個目 } }
前回お伝えした通り、この i < 1000の部分が、繰り返す回数を規定しています。 今回はガッと一気に1000個の円が描かれたはずです。 カブりまくってちゃんと1000個描かれているか確認しづらいかも知れませんが…。 ちなみに、widthやrandomが何なのか思い出せない方は、もう一度この記事を読んで戻ってきましょう! 第6回 – IF(条件分岐)3
問題
問題1.
1000個描かれている円の数を、500個に変更しなさい。
問題2.
円のサイズを半分にしなさい。