void setup() {
size(500, 750);
smooth();
background(255);
drawMobile(10);
}
void drawMobile(int x) {
int count = 0;
int w = 20;
int n = 20;
int s = 10;
int l = 300;
while(count<n) {
fill(random(0, 256), random(0, 256), random(0, 256));
noStroke();
rect(x, 100, w, l);
x = x + (s+w);
l = l + 20;
count = count + 1;
}
fill(134, 67, 0);
rect(0, 100, width, w);
}
เป็นการใช้คำสั่ง while loop วาดรูปซ้ำๆกัน โดยการกำหนดเงื่อนไขคือ เมื่อ count มีค่า น้อยกว่า ค่า n แล้ว ซึ่งตอนแรก เรากำหนดค่าของ count เป็น 0 ดังนั้นเป็นจริงตามเงื่อนไข จึงสั่งให้วาดสี่เหลี่ยม 1 รูป แล้วให้ x = x + (s+w) เป็นการเพิ่นค่าของ x ให้เท่ากับ (s+w) แล้วให้ count = count + 1 เป็นการเพิ่นค่าของ count เพิ่มขึ้นอีก 1 แล้วกลับไปเช็คเงื่อนไขต่ออีกรอบ แล้วถ้าเงื่อนไขยังเป็นจริงอยู่ ก็จะวนขึ้นมาทำแบบนี้ไปเรื่อย จนกว่าเงื่อนไขจะเป็นเท็จ หรือก็คือ count มีค่ามากกว่า หรือเท่ากับค่าของ n จึงออกจาก loop แล้วก็คำสั่งต่อไปจนจบ รูปที่ออกมาก็จะได้โมบายที่มีปลายยาวขึ้นเรื่อยๆ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น