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

Art (IF)

int y = -10; // ประกาศ และกำหนดตัวแปร y แบบ Global variale

void setup() {
  size(300, 300); // กำหนดขนาดของจอที่แสดง
  smooth(); // ใช้คำสั่ง smooth ให้งานมีความสวยงายขึ้น
  noStroke(); // ใช้คำสั่ง noStroke ไม่วาดเส้นขอบ
  background(255, 255, 255); // ใส่เพิ่มหลัง
}

void draw() { // สร้างฟังก์ชันเรียกใช้อัตโนมัติ
  int x = 25;   // ประกาศ และกำหนดตัวแปร x ให้เป็นค่าแกน X
  int r = 50;  // ประกาศ และกำหนดตัวแปร r ให้เป็นค่ารัศมี
  y = y + 5; // สั่งให้ y เพิ่มขึ้นทีละ 5
  fill(255, 0, 0);  // ใส่สีพื้นหลังวัตถุ
  drawCircle(x, y, r);  // สั่งใช้ฟังก์ชัน drawCircle เพื่อวาด
  x = x + r; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + r
  drawCircle(x, y, r);  // สั่งใช้ฟังก์ชัน drawCircle เพื่อวาด อีกครั้ง
  x = x + r; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + r อีกครั้ง
  drawCircle(x, y, r);  // สั่งใช้ฟังก์ชัน drawCircle เพื่อวาด อีกครั้ง
  x = x + r; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + r อีกครั้ง
  drawCircle(x, y, r);  // สั่งใช้ฟังก์ชัน drawCircle เพื่อวาด อีกครั้ง
  x = x + r; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + r อีกครั้ง
  drawCircle(x, y, r);  // สั่งใช้ฟังก์ชัน drawCircle เพื่อวาด อีกครั้ง
  x = x + r; // สั่งให้เพิ่มค่าของ x โดยสั่งให้ x = x + r อีกครั้ง
  drawCircle(x, y, r);  // สั่งใช้ฟังก์ชัน drawCircle เพื่อวาด อีกครั้ง
  if(y>400) {  // ใช้คำสั่งเงื่อนไข (if) โดย ถ้าค่าของ y มีค่ามากกว่า 400
      y = -40; // ก็จะสั่งให้ y มีค่าเท่ากับ -20 เพื่อให้วาดซ้ำ
      background(255, 255, 255); // แล้วก็เปลี่ยนพื้นหลังเป็นสีขาวด้วยเมื่อวาดเสร็จ 1 รอบ
}

void drawCircle(int x, int y, int r) { // สร้างฟังก์ชันเพื่อวาดวัตถุ โดยใช้ตังแปรกำหนดค่าต่างๆ
  fill(x, y, r);  // ใส่สีพื้นหลังวัตถุ
  ellipse(x, y, r, r); // วาดวงกลม
  }
}

จะเห็นว่าคำสั่งอื่นๆเหมือน Art ใน Lab 2 แค่เพิ่มคำสั่งเงื่อนไข (if) เพืื่ให้มีการกำหนดค่าของ y ใหม่ และจะทำให้วัตถุถูกวาดใหม่ตลอด สวยงามขึ้น :)

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

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