วันศุกร์ที่ 26 กรกฎาคม พ.ศ. 2556

Some UFO

int x = 0, count = x;  // ประกาศ และกำหนดตัวแปรแบบ Global variale
int[] n = {100,200,300}; // ประกาศ และกำหนดตัวแปรแบบ Global variale (Array)
int[] h = {1,2,3}; // ประกาศ และกำหนดตัวแปรแบบ Global variale (Array)

void setup() {
  size(600, 400); // กำหนดขนาดจอภาพที่แสดง
  smooth();
  strokeWeight(5); // กำหนดความหนาของเส้นวัตถุ}

void draw() { // สร้างฟังก์ชันเรียกใช้อัตโนมัติ
  background(x, 255, 255);  // กำหนดพื้นหลังให้มีค่าเปลี่ยนไปตามค่า x
  int i = 0;
  while(i<h.length) {
    drawUFO(x, n[i], h[i]);  // สั่งใช้วานฟังก์ชัน ที่สร้างเองให้วาดวัตถุ
    i++;
  }
  if (count <= 400) { // ใช้คำสั่งเงื่อนไข (if) โดยที่ ถ้า count มีค่าน้อยกว่าหรีลือ 400
    x = x + 1;  // สั่งให้เพิ่มค่าของ x โดยสั่งให้ เพิ่มขึ้นทีละ  1
    count = x;  // สั่งให้ count มีค่าเท่ากับ x  }
  else {  // แต่ถ้านอกจากนั้น
    x = x - 1;  // สั่งให้เพิ่มค่าของ x โดยสั่งให้ ลดลงทีละ  1
    count = count + 1; // สั่งให้เพิ่มค่าของ count โดยสั่งให้ เพิ่มขึ้นทีละ  1
  }
  if (count == 400*2) { // และถ้า count มีค่าเท่ากับ 400*2
    count = 0;  // ให้ count เท่ากับ 0  }
}

void drawUFO(int x, int y, int n) { // สร้างฟังก์ชันให้วาดวัตถุโดยให้ค่าเป็นตัวแปร
  //int y = 300;  // ประกาศ และกำหนดตัวแปร y ให้มีค่าเป็นตำแหน่งแกน Y  int rx = 100;   //  ประกาศ และกำหนดตัวแปร rx เพื่อกำหนดรัศมีใแกน X
  int ry = 50;  //  ประกาศ และกำหนดตัวแปร ry เพื่อกำหนดรัศมีใแกน Y
  int i = 0; //  ประกาศ และกำหนดตัวแปร i เพื่อไล่
  while(i<n) {
    line(x, y - 70, x, y);   // คำสั่งวาดเส้น
    fill(255, 0, 0); // ใส่สีพื้นหลังวัตถุ    ellipse(x, y - 70, 20, 20);   // คำสั่งวาดวงกลม
    fill(255, 255, 0); // ใส่สีพื้นหลังวัตถุ
    ellipse(x, y - 10, rx - 50, ry);   // คำสั่งวาดวงกลม    fill(0); // ใส่สีพื้นหลังวัตถุ
    ellipse(x, y, rx, ry - 25);   // คำสั่งวาดวงกลม    x = x + 100; // ให้ x เพิ่มขึ้นทีละ 100
    i++; // ให้ i เพิ่มขึ้นทีละ 100
  }
}

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

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