28 กรกฎาคม 2556

T^T UFO --> Array T^T


~ o.o UFO Array o.o ~

UFO Array Processing.js code

void setup(){
   size(600,400);  //กำหนดขนาด screen }


int[] UFO = {1,2,3,4}; //ประกาศและกำหนดค่าตัวแรอาเรย์
int x = 225;  //ประกาศและกำหนดค่าตัวแปรแบบ Global
int u = 0;
void draw(){
   background(255,223,188);
   fill(random(0,33));  //ใส่สีให้คำสั่งต่อไปนี้ โดยการวนค่าสีตั้งแต่ 0 ถึง 33 เร็วๆด้วยคำสั่ง random
   strokeWeight(5);  //กำหนดขนาดของเส้น
   stroke(222);  //ใส่สีให้เส้นในคำสั่งต่อไป
   rect(20,20,560,360);  //วาดสี่เลี่ยม
   int i = 0;  // ประกาศและกำหนดค่าตัวแปรในฟังก์ชัน
   int y = 120;
   int m = 0;
   while( i < UFO.length ){  //สร้างลูปที่กำหนดให้ ค่า i น้อยกว่า จำนวนช่องของอาเรย์ UFO
     row(x+u, y, 50, UFO[i],m); 
//เรียกใช้ฟังก์ชัน row  แล้ว UFO[i] เป็นการเรียนใช้ค่าอาเรย์ UFO ในช่องที่ i ที่เริ่มจาก 0
     m = m-50;  //ให้ค่า m ลดลง 50 จะทำให้ภาพที่ได้แถวถัดมาเลื่อนไปทางซ้าย 50 หน่วย
     y = y+60;  //ให้ค่า y เพิ่มขึ้น 60 จะทำให้ภาพแถวต่อมาเลื่อนลง 60 หน่วย
     i = i+1;  //เพิ่มค่า i กลับไปวนลูป พิจารณาเงื่อนไขอีกครั้ง
    }
   if(x < 375){
     x = x+1;  //เงื่อนไข ถ้า x น้อยกว่า 375 ให้ x = x+1
   }else if(u < -150){  //เงื่อนไข ถ้า u น้อยกว่า -150 ให้กลับสู่ค่าเริ่มต้น
       x = 225;
       u = 0;
     }else{
       u = u-1;  //เงื่อนไข ถ้า u ไม่น้อยกว่า -150 ให้ u = u-1
     }
}  


void row(int x, int y, int r, int n,int m){  //สร้างฟังก์ชัน row
  int count = 0;  //กำหนดค่า count เพื่อการวนลูป
  while( count < n ){  //สร้างลูป โดยให้ค่า count น้อยกว่า n
    drawUFO(m+x,y,r);  //เรียกใช้ฟังก์ชัน drawUFO
    x = x+100;  //เพิ่มค่า x จะได้ภาพถัดมาที่เลื่อนไปทางขวา 100 หน่วย
    count = count+1;  //เพิ่มค่า count แล้วกลับไปพิจารณาเงื่อนไขการวนลูป
  }
}


void drawUFO(int x, int y, int r){  //สร้างฟังก์ชัน drawUFO ศึกษาเพิ่มเติมได้จาก lab3-condition**
   stroke(255,243,191);
   strokeWeight(2);
   line(x,y,x,y-r*2/3);
   fill(255,0,0);
   ellipse(x,y-r*2/3,random(9,15),random(9,15));
   fill(0,240,198);
   ellipse(x,y-6,r,r*3/4);
   fill(255,170,232);
   ellipse(x,y,r*5/3,r/2);
   strokeWeight(5);
   line(x+r*6/7,y,x-r*6/7,y);
 }

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

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