SkipperBot.com
Skipper for RO
User Guide for Version 1.1
สารบัญ:

โดยทั่วไป สคริปต์ถูกเรียกใช้จากบนลงล่าง แต่ในหลายๆ กรณี เราจำเป็นต้องกำหนดเส้นทางการเรียกใช้ให้เหมาะสมกับเงื่อนไขต่างๆ ที่เกิดขึ้น การกำหนดเส้นทางของสคริปต์คือการใช้ Statement ต่างๆ นั่นเอง

If Statement

เป็น Statement ที่ถูกใช้งานบ่อยที่สุด เราใช้ If Statement ในการรันสคริปต์ภายใต้เงื่อนไขที่กำหนด การใช้ If Statement จะมีรูปแบบการเรียกใช้อยู่ 3 รูปแบบดังนี้

  • รูปแบบแรกนี้ สคริปต์ที่อยู่ภายใน statement จะถูกเรียกใช้ก็ต่อเมื่อค่าที่ได้จาก <expression> เป็น true
if (<expression>) then
  ...
endif
  • รูปแบบที่ 2 เมื่อค่าที่คำนวนได้จาก <expression> เป็น true สคริปต์ที่อยู่ภายใน statement แรก (First Statement) จะถูกเรียกใช้ แต่ถ้าหากค่าที่ได้เป็น false สคริปต์ที่อยู่ภายใน statement ล่าง (Second Statement) จะถูกเรียกใช้
if (<expression>) then
  First Statement ...
else
  Second Statement ...
endif
  • รูปแบบที่ 3 เป็นการใช้ที่มีความซับซ้อนขึ้น คือการใช้ if statement ซ้อนเข้าไปภายใน if statement อีกทีหนึ่ง ใช้สำหรับการกำหนดเงื่อนไขที่มีความซับซ้อนขึ้น
if (<expression>) then
  ...
else
  if (<expression>) then
    ...
  endif
endif

และยังสามารถใช้ if-then-else ซ้อนกันเข้าไปเป็นชั้นๆ ได้ตามต้องการ เช่น

if (<expression>) then
  ...
else
  if (<expression>) then
    ...
  else
    if (<expression>) then
      ...
    endif
  endif
endif

ข้อควรระวังคือ จำนวน endif และ if ต้องเท่ากันเสมอ

For Statement

เป็น Statement ที่ใช้ในการทำงานซ้ำกันตามจำนวนรอบที่กำหนด โดยจะมีการกำหนดตัวแปรอ้างอิง ซึ่งจะถูกเพิ่มค่าขึ้น 1 ทุกครั้งที่งานที่ต้องการเสร็จสิ้น (<var> ในรูปด้านล่างนี้) เมื่อเริ่มต้น ตัวแปรที่กำหนดไว้ใน <var> จะถูกกำหนดให้เป็นค่าใน <start_expression> และจะถูกเพิ่มครั้งละ 1 ไปเรื่อยๆ จนกว่าค่า <var> จะตรงตามเงื่อนไขที่กำหนดใน <finish_expression> จึงจะหลุดออกจาก statement นี้

for <var> = <start_expression> to <finish_expression> do
  ...
endfor

ตัวอย่างการใช้ For Statement

for i = 0 to 10 do
  Print(ToStr(i))
endfor

ผลลัพท์ที่ได้จะเป็นการพิม์ตัวเลขตั้งแต่ 0 ไปถึง 10 ติดกัน เป็นต้น

While Statement

เป็น Statement ที่ใช้ในการทำงานซ้ำกันจนเงื่อนไขไม่ตรงกับที่กำหนด โดย Statement ที่อยู่ภายใน While Statement จะถูกเรียกใช้ไปเรื่อยๆ จนกว่าเงื่อนไขใน <expression> จะมีค่าเป็นเท็จ

while <expression> do
  ...
endwhile

ตัวอย่างการใช้ While Statement

i = 0
while i <= 10 do
  Print(ToStr(i))
  i = i + 1
endwhile

ผลลัพท์ที่ได้จะเป็นการพิม์ตัวเลขตั้งแต่ 0 ไปถึง 10 ติดกัน เป็นต้น

Switch Statement

เป็น Statement ที่ใช้ในการตัดสินใจเลือกทำงานตามเงื่อนไขที่มีให้เลือกมากกว่า 1 แบบ โดยการเลือกจะเกิดจากการพิจารณาค่าของ switch_expression เทียบกับค่าของ case_expression แต่ละค่า ถ้าหากค่าของ switch_expression ตรงกับค่าใด ก็จะเรียกคำสั่งใน statement ของ case นั้นๆ ขึ้นมาทำงาน

switch (<switch_expression>)
  case <case_expression1>:
    ...
  endcase

  case <case_expression2>:
    ...
  endcase
endswitch

ตัวอย่างการใช้ Case Statement

switch (tactic)
  case 1: // use tactic#1
    ...
  endcase

case
2: // use tactic#2 ... endcase endswitch