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

Lab5:UFO




CODE
int x = 45;
int q = 45;
void setup(){
   size(460,350);
}
void draw(){
   int y = 50;
   int [] a = {3,3,3};          //Array ชื่อ a มีข้อมูลอยู่ 3 ตัว คือ {3,3,3}
   int i = 0 ; background(0);
   while(i<a.length){          //ถ้า i น้อยกว่าความยาวของข้อมูล a
   drawSaucer(x,y,a[i]);          //สร้าง user defined function ที่มี parameter (x,y,a[i])
   y = y + 90;          //y เพิ่มขึ้นทีละ 90
   i = i + 1;          //i เพิ่มขึ้นทีละ 1
   }
}
void drawSaucer(int b1,int c1,int n){          //เรียกใช้ function ที่รับค่า parameter (int b1,int c1,int n)
   int i = 0;
   int y1 = 350;
   while(i<n){
      fill(random(255),random(255),random(255));          //สีจะเปลี่ยนตามค่าเลขที่สุ่มได้ ซึ่งสุ่มเลขถึง255
      ellipse(b1, c1+20, 33, 31);          //ตำแหน่งจะเปลี่ยนตำแหน่งตามตัวแปร b1 และ c1
      fill(173,169,169);
      ellipse(b1, c1+24, 80, 20);          //ตำแหน่งจะเปลี่ยนตำแหน่งตามตัวแปร b1 และ c1
      b1 = b1 + 80;          //b1 เพิ่มขึ้นทีละ 80
      i = i + 1;          //i เพิ่มขึ้นทีละ 1
   }
   if(q==45){          //ถ้าตัวแปร q เท่ากับ 45 ให้ x เพิ่มขึ้นทีละหนึ่งเพื่อเปลี่ยนตำแหน่งในการเคลื่อนที่
      x = x+1;
   }
   if(x>=260){          //ถ้าตัวแปร x มีค่ามากกว่าหรือเท่ากับ 260 ให้ q เท่ากับ 260
      q = 260;
   }
   if(q==260){          //ถ้าตัวแปร q เท่ากับ 45 ให้ x ลดลงทีละหนึ่งเพื่อเปลี่ยนตำแหน่งในการเคลื่อนที่
      x = x - 1;
   }
   if(x<=45){          //ถ้าตัวแปร x มีค่าน้อยกว่าหรือเท่ากับ 45 ให้ q เท่ากับ 45
      q=45;
   }
}

จากโค้ด  Array ชื่อ a มีข้อมูลอยู่ 3 ตัว คือ {3,3,3} จะแสดง UFO แถวละ 3
             ถ้าเปลี่ยนค่าใน Array เป็น {1,2,3} จะได้ดังรูป  


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

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