訓練你的專家
目標:建立一個 Expert 類型的實例,並使用專家來通關。
簡介
運用這項挑戰來練習初始化專家實例。在編寫關卡的解決方法時,請想想你所學到的關於將程式碼分解成清楚、可重複使用函數的相關知識。
新能力
除了
turnLockUp()
外,你還可以使用turnLockDown()
將平台從目前的位置往下移。
首先,初始化一個專家實例。引導你的專家四處走動,收集寶石,並且轉動鎖頭來顯示通往中斷平台的路徑。
講解
這裡增加了一個向下轉鎖的操作,就是把平台下降後,可以走過去收集寶石。
還是先要初始化專家的屬性:let expert = Expert()
然後我們創建一個變量 gemCounter 用來給寶石計數。
接下來,我們定義收集寶石的函數 moveAndCollect()
:
- 向前走
- 如果是寶石,收集寶石,寶石數量 + 1
- 如果寶石數量是3,且前方受限,那麼向下轉動鎖
- 如果前方受限,轉身
- 如果左右都不受限,右轉
然後我們使用定義好的函數,使用 while 循環,直到寶石數量到6。
解答
請務必嘗試解題
請同學務必嘗試自己解題,不要直接看答案。學習程式時最好的學習方法是自己嘗試解題,程式設計不會只有一種寫法,請通過不斷的嘗試和優化來找到屬於自己最好的解答。
後記
新增了新的動作指令,讓學員以更複雜的命令指示專家完成任務。