วันพฤหัสบดีที่ 18 กรกฎาคม พ.ศ. 2556

Mobile

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 แล้วก็คำสั่งต่อไปจนจบ รูปที่ออกมาก็จะได้โมบายที่มีปลายยาวขึ้นเรื่อยๆ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น