for ループの中に for ループを埋め込むと、それぞれのループ回数を掛け算した結果が、全体の繰り返しの回数となります。
と「Processingをはじめよう」にあるけど、for
ループの入れ子がどう処理されるかピンとこない。
同じ出力結果になる for
ループと結果のベタ書きのコードを並べて確認する。
for
ループ
size(480, 120);
background(0);
noStroke();
for (int y = 0; y <= 40; y += 40) {
for (int x = 0; x <= 40; x += 40) {
fill(255, 140);
ellipse(x, y, 40, 40);
}
}
ベタ書き
size(480, 120);
background(0);
noStroke();
fill(#54DBB8);
ellipse(0, 0, 40, 40);
ellipse(0, 40, 40, 40);
ellipse(40, 0, 40, 40);
ellipse(40, 40, 40, 40);
(0, 0)
(0, 40)
…y += 40
。親ループの加算処理がされる(40, 0)
…x += 40
。子ループの加算処理がされる(40, 40)
…x += 40
、y += 40
。親と子ループの加算処理がされる
みたいな感じなのかなぁ。まだちゃんとわかってない。