Мета уроку:
Уявіть, що вам потрібно намалювати 100 вертикальних ліній. Без циклів вам довелося б писати 100 рядків коду line(). Цикл дозволяє написати цей код один раз і вказати комп'ютеру, скільки разів його повторити.
Цикл while виконує блок коду доти, доки певна умова є істинною (true).
Синтаксис:
int x = 50; // Початкове значення
while (x < 400) { // Умова
line(x, 100, x, 300); // Дія
x = x + 20; // Крок (інкремент)
}
Це найбільш вживаний цикл у Processing. Він компактніший, оскільки об’єднує ініціалізацію, умову та крок в одному рядку.
Синтаксис:
for (ініціалізація; умова; крок) \{ \dots \}
Приклад:
size(400, 400);
background(255);
for (int i = 0; i < 10; i++) {
float y = 50 + i * 30;
line(50, y, 350, y);
}
Замість суцільного кольору, ми можемо заповнити екран лініями, колір яких змінюється залежно від положення.
size(400, 400);
for (int i = 0; i < width; i++) {
stroke(i / 1.5, 100, 200); // Зміна кольору stroke
line(i, 0, i, height);
}
Використання змінної циклу для зміни розміру фігури.
size(400, 400);
noFill();
for (int d = 380; d > 0; d -= 20) {
ellipse(width/2, height/2, d, d);
}
Якщо помістити один цикл for всередину іншого, можна малювати двовимірні структури (сітки).
size(400, 400);
for (int x = 20; x < width; x += 40) {
for (int y = 20; y < height; y += 40) {
fill(random(255));
rect(x, y, 20, 20);
}
}