2015年10月16日 星期五

if...then...else...end基礎課程

我們首先教各位最基本的一個敘述,那就是「if...then...else...end」,這個敘述主要由四個部分組成,每個部分都具有它的功能性,它們分別是:
if」=如果
then」=那麼就(執行)
else」=否則就(執行)
end」=結束敘述



這四樣東西可以讓電腦對一件事情做出選擇,我們來翻譯看看下面這個敘述:
  if me.loc == magazine.loc then
  me.triggerKeyboard("space")
  else
  me.moveTo(magazine)
  return
  end


筆者已經用綠色幫各位標出敘述中的四樣東西,接著我們將他們翻成中文就是:
  如果 me.loc == magazine.loc 那麼就(執行)
  me.triggerKeyboard("space")
  否則就(執行)
  me.moveTo(magazine)
  return
  結束

<光暈路亞API>當中,有相當多的東西,那都是一些路亞修行模式中的資料,有的是讓系統去操控玩家人物動作的指令,有的則是遊戲中的即時資訊,每種指令及資訊都是獨特的,也就是說:

  承上述例子,我們可以發現一個叫 me.triggerKeyboard("space")的指令,這個指令你可以在<光暈路亞API>中找到,那是一個可以操控玩家角色的指令,他的指令內容是「按下再放開一個鍵盤上的按鍵」而"space"代表的是空白鍵。

  同樣的 me.moveTo(magazine) 也是一個指令,他的指令內容是「控制角色前往目標」而magazine就是他的目標,所以再翻成中文就是:

  如果 me.loc == magazine.loc 那麼就(執行)
  按下再放開一個鍵盤上的按鍵(指定按空白鍵)
  否則就(執行)
  控制角色前往目標(目標為magazine)
  return
  結束

  先前有提到,除了操控玩家的指令外,也有一些是即時資訊,那些資訊是什麼?又可以做什麼?筆者在這邊告訴各位,if...then...else...end的敘述是一個選擇敘述,它可以讓電腦依照條件去做選擇,縱使條件沒有改變,但戰況卻時時刻刻在變化,電腦當下所做的選擇也往往因為戰況的改變而與先前不同,而即時資訊的功能正是讓電腦能判斷目前的戰況。簡單來說,即時資訊就是當前戰況的資料,舉例來說:
me.loc是一個資訊,他的資訊內容是「玩家目前所在的格子座標」
magazine.loc也是一個資訊,它的資訊內容是「magazine目前所在的格子座標」
在me.loc與magazine.loc之間,夾著「==」,「==」是一個"關係運算子"
關係運算子可以用來對左右兩者做比較
而 == 這個關係運算子表達的意義是「等於」
關係運算子請參見<關係運算子>
所以翻成中文則是:
  如果 玩家目前所在的格子座標 == magazine目前所在的格子座標 那麼就(執行)
  按下再放開一個鍵盤上的按鍵(指定按空白鍵)
  否則就(執行)
  控制角色前往目標(目標為magazine)
  return
  結束

  這麼一來我們對於if...then...else...end已經有基本的理解了,不過其中還是有一些本文沒教到的東西,例如magazine這個變數或return這個指令,由於這些東西與本次學習的主題不同,所以筆者就另開了其他文章來解釋這些東西,你可以在下方的相關參考文章連結中找到它們各自所屬的文章喔!

  帝國皇朝路亞研究所的if...then...else...end基礎課程就到這邊告一段落了!
是的!程式語言基本上就是個語言,最基本的就是要看得懂
接著才是學著如何運用這個語言,連看都看不懂就想活用是很困難的。

相關參考文章連結:
想認識變數請參見<路亞的變數?>magazine是一個變數喔!
想認識「==」請參見<關係運算子>
「return」這個指令比較難解釋,請參見<return必學的指令敘述>
如果以上您都已經熟習了,歡迎點選下方的連結!

沒有留言:

張貼留言