วันอังคารที่ 16 กรกฎาคม พ.ศ. 2556

[Mobile]




ต่อไปนี้จะเป็นการใช้คำสั่งLoop  โดย Loop เป็นการทำงานแบบวนซ้ำ การทำงานหลักๆ ของลูป คือ การคำนวณเงื่อนไขที่เรากำหนด หากผลลัพธ์ของการคำนวณเงื่อนไขเป็นจริง ก็จะทำซ้ำ ต่อไปเรื่อยๆจนกว่า ผลลัพธ์การคำนวณเงื่อนไขจะเป็นเท็จ ก็จะออกจากลูป แต่ในครั้งนีเราจะใช้ function ด้วยค่ะ

void setup(){
size(500,500);
background(23,229,179);
}//function แรกของการทำงาน จะประกาศ กำหนด แต่ไม่ต้องเรียกใช้ เพราะจะเรียกใช้เองอัตโนมัติ

void draw(){
  fill(random(35),random(232),random(102));
  drawMobile();
  drawStick();
}//ต่อไปเป็นส่วนของ function void draw() ฟังก์ชั่นนี้ ก็มีการประกาศ กำหนด แต่ไม่ต้องเรียกใช้ เพราะมันจะเรียกใช้เองโดยอัตโนมัติ เราจะใช้ user defined 2 ตัวคือ void drawMobile() กับ void drawStick()

void drawMobile(){
  int x=40;
  int y=200;
  int n=9;
  int i=1;
  int s=50;
  int count=0;
 
  while(count<n){  //เงื่อนไขกำหนดให้ count น้อยกว่า n
    ellipse(x,y+i,s,s);
    line(x,30,x,y+i);
    i=i+25;//ส่วนที่กำหนด ตัวแปร y ที่เราบวกค่า i เข้าไปมีค่าเพิ่มขึ้น ที ละ 25 คือทำให้ เส้นที่วนลูปในแนวแกน y ยาวขึ้นเรื่อยๆ
    x=x+50;// ส่วนนี้คือส่วนที่กำหนด ให้ เส้นแต่ละเส้นมีระยะห่างเพิ่มขึ้นตามค่าที่ x บวกเพิ่ม ในแนวแกนx
    count=count+1;//  ส่วนนี้คือส่วนที่กำหนด ให้ count บวก 1 เพิ่มทุกครั้งเช็คเงื่อนไขอีก
  }
}
void drawStick(){
  line(270,1,270,30);
  line(40,30,440,30);
}

โดยช้ while loop ที่เราใช้จะคำนวณซ้ำ(เช็คเงื่อนไข)ไปเรื่อยๆจนกว่าเงื่อนไขจะเป็นเท็จ   แต่ต้องมีตัวที่กำหนดให้ เพิ่มหรือลดค่า ในที่นี้คือ
count = count+1;  ถ้าหากไม่มีตัวนี้ ลูปก็จะทำงานไปเรื่อยๆ เป็น infinite loop

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

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