第10回 – for loop(繰り返し処理) 2


今回は具体的な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.

円のサイズを半分にしなさい。