วันอาทิตย์ที่ 7 กรกฎาคม พ.ศ. 2556

-Flowers-




void setup(){
  size(200,200);
}
int c=0;
float r=10;

void draw() {
  background(255);
  drawFlower1(r);


  drawFlower2(r);
  drawFlower3(r);
  drawFlower4(r);
  drawFlower5(r);
  c=c+1;                                 //เป็นการกำหนดให้ค่า c เพิ่มขึ้น 1 ทุกๆครั้งที่มีการ
                                             เรียกใช้ฟังก์ชัน void draw( ){ }

  if(c<=60){                           //if( ){ }เป็นการกำหนดเงื่อนไข โดยกำหนดเงื่อนไขไว้ใน ( )
                                             ถ้าเงื่อนไขเป็นจริง ให้ทำตามคำสั่งใน { }
   r=r+0.3;
  }
  else{                                   //else{ } เป็นคำสั่งที่ใช้ต่อจาก if( ){ }  โดยคำสั่งจะเริ่มพิจารณา
                                           เงื่อนไขจาก if ก่อนถ้า if ไม่เป็นจริง จะทำตามคำสั่งของ else ใน { }
   r=r-0.3;
  }
  if(c==120){
   r=10;
   c=0;
  }

}

void drawFlower1(int r){
fill(250,15,180);
  ellipse(30,50,r+20,r+20);//Corolla
  ellipse(50,30,r+20,r+20);//Corolla
  ellipse(70,50,r+20,r+20);//Corolla
  ellipse(50,70,r+20,r+20);//Corolla
  fill(250,200,0);
  ellipse(50,50,r,r);
}

void drawFlower2(){
  fill(255,0,0);
  ellipse(130,50,r+20,r+20);//Corolla
  ellipse(150,30,r+20,r+20);//Corolla
  ellipse(170,50,r+20,r+20);//Corolla
  ellipse(150,70,r+20,r+20);//Corolla
  fill(250,200,0);
  ellipse(150,50,r,r);
}

void drawFlower3(){
  fill(0,230,38);
  ellipse(30,150,r+20,r+20);//Corolla
  ellipse(50,130,r+20,r+20);//Corolla
  ellipse(70,150,r+20,r+20);//Corolla
  ellipse(50,170,r+20,r+20);//Corolla
  fill(250,200,0);
  ellipse(50,150,r,r);
}
void drawFlower4(){
  fill(250,15,180);
  ellipse(130,150,r+20,r+20);//Corolla
  ellipse(150,130,r+20,r+20);//Corolla
  ellipse(170,150,r+20,r+20);//Corolla
  ellipse(150,170,r+20,r+20);//Corolla
  fill(250,200,0);
  ellipse(150,150,r,r);
}
void drawFlower5(){
  fill(0,255,225);
  ellipse(80,100,r+20,r+20);//Corolla
  ellipse(100,80,r+20,r+20);//Corolla
  ellipse(120,100,r+20,r+20);//Corolla
  ellipse(100,120,r+20,r+20);//Corolla
  fill(250,200,0);
  ellipse(100,100,r,r);
}
//ตัวแปล r ใช้ในการเก็บค่าเพื่อให้ดอกไม้ขยับไปใหญ่ขึ้นและเล็กลง เพราะค่า r อยู่ในคำสั่ง ellipse( );
 ตรงตำแหน่งที่มีผลต่อรัศมี
//เพิ่มเติม ค่าcที่เพิ่มขึ้นเปรียบเสมือน เวลาที่เพิ่มขึ้นเรื่อยๆ จากเงื่อนไขถ้าc<=60 ค่าrจะบวก0.3เรื่อยๆ
ทำให้ดอกไม้ใหญ่ขึ่น  แต่เมื่อเงื่อนไข c<=60 ไม่เป็นจริง
ค่าrจะลดลงมาเรื่อยๆ ทำให้ดอกไม้เล็กลง เมื่อc==120 จะตรงกับอีกเงื่อนไขนึง
ทำให้ค่า r=10 และ c=0 เป็นการรีเซ็ต ค่าr และ c ให้กลับมาเป็นค่าเริ่มต้น

//อ้างอิงคำสั่งพื้นฐานต่างๆจาก lab1 http://com5630043.blogspot.com/search/label/lab1
//อ้างอิงอธิบายฟังก์ชันจาก lab2 http://com5630043.blogspot.com/search/label/lab2

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

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