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

Some UFO






int x = 0;
int y = 0;
int c= 0;
int d= 0;
//การประกาศและกำหนดข้างต้นเป็นการประกาศตัแปรแบบ global variable ซึ่งก็คือการประกาศและกำหนดตัวแปรภายนอกฟังก์ชั่น ทุกฟังก์ชั่นสามารถเรียกใช้ไ

void setup () {//เป็น function หนึ่งใน system function เป็น function ที่เรียกใช้อัตโนมัติ และยังเป็นฟังก์ชั่นที่ทำงานเพียงครั้งเดียวและจะทำงานก่อนเป็นสิ่งแรก ก่อน void draw ด้วย
  size (500,300);
}

void drawBackg(){//เป็น function ที่เรากำหนดเอง
  background (random(1,5),random(13,15),random(2,85));
}
void draw () {//เป็น function หนึ่งใน system function เช่นเดียวกับ setup มีการเรียกใช้อัตโนมัติ แต่การทำงานของทั้งสองจะแตกต่างกัน void draw จะทำงานตาม Statement และเงื่อนที่ได้กำหนดให้นั้นซ้ำๆไปเรื่อยๆ
  drawBackg();//เรียกใช้ function ที่เรากำหนดเอง
  drawUFO(x,y,60);//เรียกใช้ function ที่เรากำหนดเอง

if (x<440) {
  x=x+3;
}else {
  if(y<-440){
   x=0;
   y=0;
}else{
   y=y-1;
}
}
if ( c<=80) {
c = c+5;
}
else
if (d <=-80) {
d= 0;
c=0;
}
else {
d = d-5;
}
}

void drawUFO(int x,int y,int A) {//เป็น function ที่เรากำหนดเอง
  fill (300,200,30);
 int [ ] posts = {3,2,3,4};//index เก็บค่าจำนวนเอาไว้

 drawRow(x+50,y,posts[0],A);
   A=A+50;
 drawRow(x+100,y,posts[1],A);
   A=A+100;
 drawUFO1(c,d);
 drawRow(x+50,y,posts[2],A);
   A=A+50;
 drawRow(x,y,posts[3],A);
   A=A+50;

}

void drawUFO1(int c,int d){//เป็น function ที่เรากำหนดเอง
strokeWeight(3);
fill(#36648B);
ellipse(250-c-d,230,70,130);
ellipse(250-c-d,250,200,70);
fill(#AFEEEE);
arc(250-c-d,230,120,40,0,PI);
arc(250-c-d,230,110,160,PI,TWO_PI);
arc(250-c-d,230,70,130,PI,TWO_PI);
fill(54,122,234);
ellipse(250-c-d,195,35,35);
fill(0);
ellipse(250-c-d,195,15,15);
arc(250-c-d,225,30,15,0,PI);
fill(254,123,125);
ellipse(190-c-d,230,20,20);
ellipse(225-c-d,250,20,20);
ellipse(275-c-d,250,20,20);
ellipse(310-c-d,230,20,20);
}

void drawRow(int x,int y,int n,int A){//เป็น function ที่เรากำหนดเอง
  int count = 0;
  while(count<n){
  ellipse (30+x+y,A,30,15);
  ellipse (30+x+y,A+10,80,20);
    count = count +1;//เพิ่มจำนวนการวน loop
    x=x+90;//บวก 90 ที่ x ทุกครั้งที่สิ้นสุด statement เพื่อกลับไปวน loop ใหม่หรือออกจาก loop

  }
}

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

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