วันพฤหัสบดีที่ 11 กรกฎาคม พ.ศ. 2556

Unidentified Flying Object





int xPos;  // ประกาศตัวแปร xPos เป็นตัวแปรแบบ global
int ufo;    // ประกาศตัวแปร ufo เป็นตัวแปรแบบ global
void setup()
{
  size(200,200);  //กำหนดขนาดของ screen
  xPos = 0;  // กำหนดค่าของตัวแปร xPos เป็น 0
  ufo = xPos;  // กำหนดค่าของตัวแปร ufo เป็นค่า xPos
}

void draw()
{
  background(255);  // กำหนดสีให้กับพื้นหลัง เป็นสีขาว
  drawUFO(xPos);  // เรียกใช้ฟังก์ชั่น drawUFO ซึ่งเป็นฟังก์ชั่นประเภท User Function มีการส่งค่า xPos ไปในชุดฟังก์ชั่น

  if(ufo <= width)  //กำหนดเงื่อนไข ถ้าค่าของตัวแปร ufo มีค่าน้อยกว่าหรือเท่ากับค่าความกว้าง(ในที่นี้คือ 200)
  {
    ufo = ufo + 1;  // ให้ค่า ufo เพิ่มขึ้นเรื่อยๆ
    xPos = xPos + 1; //ให้ค่า xPos เพิ่มขึ้นเรื่อยๆ
  }
  if(ufo > width || xPos == width)  //กำหนดเงื่อนไข ถ้าค่าตัวแปร ufo มีค่ามากกว่าค่าความกว้าง(200) และค่า xPos มีค่าเท่ากับค่าความกว้าง 
    {
      ufo = ufo + 1;  //ให้ค่า ufo เพิ่มขึ้นเรื่อยๆ
      xPos = xPos - 1; // ให้ค่า xPos ลดลงเรื่อยๆ
    }
  if(ufo == width*2) // กำหนดเงื่อนไข ถ้าตัวแปร ufo มีค่าเท่ากับค่าความกว้าง * 2 (400) หรือก็คือไปกลับครบ 1 รอบ
    {
       ufo = 0; //ให้ค่าของตัวแปร ufo กลับมาเป็น 0
    }
 }

void drawUFO(int xPos) // คำสั่งสร้างฟังก์ชั่นแบบ User Function ในที่นี้มีชื่อว่า drawUFO
{
  fill(255,255,0);  // กำหนดสีให้กับห้องเครื่องของ UFO เป็นสีเหลือง
  ellipse(xPos, 70, 33, 31); //วาดวงกลม โดยตำแหน่งค่า x กำหนดเป็นตัวแปร xPos 
  fill(128);  //กำหนดสีให้กับตัวถัง UFO เป็นสีเทา
  ellipse(xPos, 74, 80, 20); //วาดวงกลม โดยตำแหน่งค่า x กำหนดเป็นตัวแปร xPos
}

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

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