控制指令
本週的教學影片檔:請點我
本週的初始程式碼:請點我
到目前為止,我們學習了很多和資料有關的知識,但一個程式若是空有大量資料,卻沒有具實際意義的指令的話,我們的程式也只是個空殼而已,而怎樣才是具有實際意義的指令呢?想像一下我們日常使用的 iPhone 程式...
- 接收到一條 LINE 訊息並且顯示出來
- 玩遊戲的時候士兵往前移動或攻擊
- 點擊一個按鈕後,手機播打119
這些都是使用了某種型態的資料,而產生了某種實際意義的指令。雖然我們目前使用的模擬器缺少了很多圖形化介面的功能,但藉由print()
命令還是能讓我們了解到我們的程式碼具體做了什麼、對資料造成了什麼影響,我們在前面這幾章都會利用print()
命令來模擬實際程式執行的情況。
現在請打開本頁開頭的程式碼連結,在這段程式碼中,我們幫大家設計好了一個me
這個資料型態,它擁有一個方向
資料型態的變數,用來儲存目前它面對的是東方、南方、西方還是北方,並且擁有一個點
資料型態的變數,這個點
型態擁有x
和y
兩個整數變數,用來儲存目前me
物件所在的座標。me
物件有兩個會產生實際意義的指令,前進
會朝它目前面向的方向前進一格(北方是y軸正方向,而東方是x軸正方向),而右轉
會讓它順時針轉90度。在程式碼的末端,初始化了一個名稱為我
的me
物件,並將它放在原點(0,0)
,面朝北方。
你可以試著實際讓我
做一些行動,執行看看有什麼效果,例如:
我.前進() 我.右轉()
應該會看到系統印出這樣的訊息:
我從座標( 0 , 0 )前進到了座標( 0 , 1 ) 我從面向北方轉為面向東方
我們玩的許多角色扮演遊戲,角色
物件實際上就是用類似的方式移動、轉向,甚至攻擊敵人、拾取道具或者使用技能的。