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

Some UFO





int xPos; //เป็นการประกาศตัวแปรชื่อ xPos ชนิดที่เป็น Local variables
int count;//เป็นการประกาศตัวแปรชื่อ Count ชนิดที่เป็น Local variables
int Difference=200; //เป็นการประกาศและกำหนดค่าของตัวแปร Difference โดยค่าที่เป็นจำนวนเต็มคือ 200 ทางขวาของ Assignment Operator ใส่ให้กับตัวแปร Difference ทางซ้าย
void setup()  //เป็นการประกาศฟังก์ชั่น setup โดย void จะกระทำเฉพาะในฟังก์ชั่นเท่านั้น
{
  size(500, 500); //เป็นการกำหนดขนาดของ Canvas โดยที่ size (ขนาดของแกนx, ขนาดของแกนy);
  xPos=0; //เป็นการกำหนดค่าของตัวแปร xPos ชนิดที่เป็นจำนวนเต็ม
  count=xPos; //เป็นการกำหนดค่าของตัวแปร count ให้เท่ากับค่าของตัวแปร xPos
}
void draw() //เป็นการประกาศฟังก์ชั่น draw โดย void จะกระทำเฉพาะในฟังก์ชั่นเท่านั้น
{
  int yPos=100; //เป็นการประกาศและกำหนดค่าของตัวแปร yPos ชนิดที่เป็นจำนวนเต็ม ให้เท่ากับ 100
  int[] A = {
    1, 3, 2
  }; //เป็นการประกาศและกำหนดค่าให้กับตัวแปรชุด A โดยนำค่าต่างๆ ที่เป็นจำนวนเต็ม ของจำนวน UFO ตามแต่ละแถวใส่ลงในวงเล็บปีกกา
  background(051, 000, 153); //เป็นการเพิ่มสีให้กับพื้นหลัง โดย background(สีแดง, สีเขียว, สีน้ำเงิน); ค่าของสีแต่ละตัวมีได้สูงสุดไม่เกิน 255 และต่ำสุดที่ 000
  int i=0; //เป็นการประกาศและกำหนดค่าของตัวแปร i ชนิดที่เป็นจำนวนเต็ม ให้เท่ากับ 0
  while (i<A.length) //เป็นคำสั่ง while ซึ่งหลักการคือ ถ้าเงื่อนไขที่กำหนดเป็นจริงจะกระทำตามที่เราสั่งไว้ ไปเรื่อยๆ จนกว่าเงื่อนไขนั้นจะเป็นเท็จ รูปแบบการเขียนคือ while (เงื่อนไข){คำสั่ง} โดยในข้อนี้สามารถอธิบายได้ว่า ขณะที่ i น้อยกว่าความยาวของตัวแปรชุด A นั้น จะสั่งให้กระทำส่งนั้นๆไปเรื่อยๆ ถ้าอยากให้หยุดเราต้องทำให้สถานะการณ์นี้เป็นเท็จ โดยเพิ่มค่าให้กับตัวแปรในกรณีนี้คือ i นั่นเอง
  {
    drawSomeUFO(xPos, yPos, A[i]); //เป็นการเรียกใช้ฟังก์ชั่นชื่อ drawSomeUFO
    yPos=yPos+150; //เป็นการปรับค่าให้กับตัวแปร yPos โดยเพิ่มขึ้นทีละหนึ่งร้อยห้าสิบ
    i=i+1; //เป็นการปรับค่าให้กับตัวแปร i โดยเพิ่มขึ้นทีละหนึ่ง
  }
  if (count<=width) //เป็นการสร้างเงื่อนไข ให้กับการเคลื่อนที่ โดยที่ if คือการตั้งเงื่อนไขที่ว่าถ้าจริงให้ทำ ถ้าเท็จไม่ทำ จะได้ว่า if (กำหนดค่าที่เปลี่ยนแปลงไปภายใต้เงื่อนไข) { กำหนดค่าที่ต้องการให้เปลี่ยนเมื่อเงื่อนไขสมบรูณ์; }โดยในที่นี้หมายถึง ถ้าค่า count น้อยกว่าหรือเท่ากับค่า width เป็นจริง ให้  xPos เพิ่มขึ้นทีละหนึ่ง และ count เพิ่มขึ้นทีละหนึ่ง
  {
    xPos=xPos+1;
    count=count+1;
  }
  if (count>width || xPos==width) //เป็นการสร้างเงื่อนไข ให้กับการเคลื่อนที่ โดยที่ if คือการตั้งเงื่อนไขที่ว่าถ้าจริงให้ทำ ถ้าเท็จไม่ทำ จะได้ว่า if (กำหนดค่าที่เปลี่ยนแปลงไปภายใต้เงื่อนไข) { กำหนดค่าที่ต้องการให้เปลี่ยนเมื่อเงื่อนไขสมบรูณ์; }โดยในที่นี้หมายถึง ถ้าค่า count มากกว่าค่า width  หรือxPos เท่ากับ width เป็นจริง ให้ xPos ลดลงทีละหนึ่ง และ count เพิ่มขึ้นทีละหนึ่ง
  {
    xPos=xPos-1;
    count=count+1;
  }
  if (count==width*2) { //เป็นการสร้างเงื่อนไข ให้กับการเคลื่อนที่ โดยที่ if คือการตั้งเงื่อนไขที่ว่าถ้าจริงให้ทำ ถ้าเท็จไม่ทำ จะได้ว่า if (กำหนดค่าที่เปลี่ยนแปลงไปภายใต้เงื่อนไข) { กำหนดค่าที่ต้องการให้เปลี่ยนเมื่อเงื่อนไขสมบรูณ์; }โดยในที่นี้หมายถึง ถ้าค่า count เท่ากับค่า width คูณสองเป็นจริง ให้  count เท่ากับศูนย์
    count=0;
  }
}
void drawSomeUFO(int xPos, int yPost, int A)  //เป็นการประกาศฟังก์ชั่น drawSomeUFOและกำหนดตัวแปร xPos, yPost,  A ที่เป็นจำนวนเต็มโดย void จะกระทำเฉพาะในฟังก์ชั่นเท่านั้น
{
  int i=0; //เป็นการประกาศและกำหนดค่าของตัวแปร i ชนิดที่เป็นจำนวนเต็ม ให้เท่ากับ 0
  while (i<A) //เป็นคำสั่ง while ซึ่งหลักการคือ ถ้าเงื่อนไขที่กำหนดเป็นจริงจะกระทำตามที่เราสั่งไว้ ไปเรื่อยๆ จะกว่าเงื่อนไขนั้นจะเป็นเท็จ รูปแบบการเขียนคือ while (เงื่อนไข){คำสั่ง} โดยในข้อนี้สามารถอธิบายได้ว่า ขณะที่ i น้อยกว่าความยาวของตัวแปรชุด A นั้น จะสั่งให้เข้าเงื่อนไขการวาดต่างๆไปเรื่อยๆ จนกว่าเงื่อนไขจะเป็นเท็จนั่นเอง
  {
    stroke(255, 255, 255); //คือคำสั่งเกี่ยวกับการเติมสีเส้น โดย stroke (ค่าของสีแดง, ค่าของสีเขียว, ค่าของสีน้ำเงิน);
    fill(255, 255, 000); //เป็นการเติมสีให้กับรูปร่างที่เราสร้าง โดยfill(ค่าของสีแดง, ค่าของสีเขียว, ค่าของสีน้ำเงิน);
    ellipse(xPos, yPost, 80, 100); //คือคำสั่งที่ใช้ในการวาดรูปทรงกลม หรือทรงรีก็ได้ โดย ellipse (ค่าxที่เป็นจุดศูนย์กลางวงกลม, ค่าyที่เป็นจุดศูนย์กลางวงกลม, ขนาดความยาวของวงกลมตามแกนx, ขนาดความยาวของวงกลมตามแกนy); ถ้าขนาดความยาวของวงกลมตามแกนx กับ ขนาดความยาวของวงกลมตามแกนy เท่ากันจะเป็นวงกลม แต่ถ้าไม่จะเป็นวงรี
    fill(255, 051, 153);
    ellipse(xPos, yPost, 140, 40);
    xPos = xPos + Difference; //เป็นการเพิ่มค่าให้ xPos บวกกับค่าของ Difference
    i=i+1;//เป็นการเพิ่มค่าให้ i ทีละหนึ่ง
  
  }
} //ปีกกาปิด เพื่อจบฟังก์ชั่น

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

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