目標
- 瞭解物件的概念
- 瞭解方法與物件的關係
- 掌握turnTo指令的用法
在開始本章的學習之前,我們先來複習一下上一章的知識點。
在第1章中,我們學會了在這個遊戲中最簡單的兩個指令。
- step x
其中,x既可以是正數,也可以是負數。x是正數時,上述指令可以實現讓小猴子向前移動x步的功能,為負數時則是倒著走,也就是向後移動。 - turn y
其中,y可以取值為left、right或是45這樣具體的角度數值,它們分別表示讓小猴子向左、向右旋轉,或是向左旋轉45度。
通過這兩個簡單的指令,我們不難總結出指令的一般格式如下:
指令 引數
一定要注意的是,指令與引數之間的空格是不可以省略的。不然,計算機就看不明白了。
turnTo
對於turn指令,你會不會覺得使用起來不是很方便,尤其是在需要給出具體角度資料作為引數時。那麼,有沒有更簡單好用的指令可以替代turn呢?
答案是有的。人類總是習慣於偷懶,所以,在這個遊戲中,我們又給出了一個名叫turnTo的指令。
它的用法如下,它同樣遵循“指令 引數”的格式。
turnTo 物件
以上指令可以讓小猴子直接轉向你指定的物件,而不必給出具體的角度數值。
物件
這裡出現了一個新的名詞——物件。
要怎麼理解物件這一概念呢?你可以暫時地把物件當作物體去理解,遊戲中出現的每一個物體,都是一個物件。
每個物件都有自己獨一無二的名字,把滑鼠移動到相應的物件上,它的名字就會顯示出來。
為了簡化程式碼的輸入,點選任一物件,它的名字就會自動書寫在右側的程式碼輸入區裡了。
說起物件,還有兩個與之相關的新名詞,屬性和方法。
屬性是指物件的性質,拿香蕉這個物件來說,顏色就是這個物件的一個屬性。
再舉一個屬性的例子。讓我們考慮人這一個物件,那麼,他的身高、體重、性別等,也都是這個物件的屬性。
接著再介紹方法。方法就是指一個物件所能夠完成的動作,譬如遊戲中的小猴子monkey和即將出場的新朋友——烏龜turtle,這兩個物件都能夠完成移動step、旋轉turn以及轉向turnTo的動作,所以我們就說,step、turn、和turnTo是這兩個物件所擁有的方法。
為方便理解,再舉一個方法的例子。還是考慮人這一個物件,人能夠吃飯、走路、工作,所以我們就說,吃飯、走路、工作分別是人這一物件所擁有的三種不同的方法。
問題來了,既然烏龜turtle也能夠完成移動step、旋轉turn以及轉向turnTo的動作,可是我們要如何通過程式碼去控制它執行這些動作呢?
如何讓烏龜turtle移動呢,換句話說就是,如何才能呼叫turtle的step方法呢,格式如下:
turtle.step x
上述的指令將能夠控制烏龜turtle,讓它移動x步。
那麼,依此類推,我們很容易得到如下的指令:
- turtle.step x
讓烏龜turtle移動x步 - turtle.turn y
讓烏龜turtle旋轉 - turtle.turnTo z
讓烏龜轉向z
不難想到,
- monkey.step x
讓小猴子移動x步,等同於前一章的step x - monkey.turn y
讓小猴子旋轉,等同於前一章的turn y - monkey.turnTo z
讓小猴子轉向z,等同於turnTo z
怎麼樣,是不是對上一章的內容又有了更深層次的理解了?
現在讓我們來總結一下如何呼叫物件的方法:
物件名.方法名
通過以上的指令格式,可以呼叫物件的方法。
雖然目前暫時還不會用到物件的屬性,但可以先了解一下如何使用物件的屬性:
物件名.屬性名
我們通過上述的指令格式,使用物件的屬性。
如果你對上述內容還不能很好的理解,那就暫時先放一下,通過後續的學習,你會逐漸理解的。
好了,本章的內容就學習到這裡了。
現在通過以下關卡來檢驗一下今天的學習效果吧。
作業
- 故事模式的 11 - 20 關
- 進階模式的 2-1 - 2-10 關
注意,一定保證要所有關卡都拿到三顆星。
本章小結
- turnTo指令可以實現轉向。
- 烏龜turtle和小猴子monkey一樣,都可以完成step、turn和turnTo動作。
- 通過物件.方法和物件.屬性的方式,我們可以訪問物件的方法和屬性。
問答
-
孩子還不太理解“物件”等概念怎麼辦?
不用擔心,本章只是先引出物件這一程式設計中的基本概念,目前孩子知道有這麼一個概念就行了。 -
為什麼不給出每一關的通關程式碼?
通關的過程也是檢驗孩子對所學知識的掌握情況的過程,要引導孩子思考,不要直接給他答案。 -
如何訪問CodeMonkey?
使用電腦瀏覽器訪問http://dwz.date/dY5Y即可。