Functions / Arrays / Text---MakeCode 進階積木分享|奧斯丁國際有限公司 OURSTEAM Internationl
icon教學資源
2021/11/17

Functions / Arrays / Text---MakeCode 進階積木分享

MakeCode block-Functionsenlightened

函式Functions

函式可以用來方便您創建在程式中欲重複使用的一部分程式內容。不需將相同的程式內容複製到程式中的多個位置,您只需透過呼叫來使用您創建的函式,非常方便。
函式具備內容獨立、方便除錯以及可以重複呼叫使用的優點。


程式設計

在MakeCode選單中點選【Advanced】進階,就能找到並使用【Functions】功能積木。





按下【Make a Function】來創建函式。



為此函式命名,接著按下【Done】即可完成函式的創建。



隨機音樂播放機:利用兩個函式來分別創建兩首歌曲,透過搖晃micro:bit就能隨機撥放不同的歌曲。



補充:在使用【Music】中的【play tone ~ for 1 beat】之前,建議先了解音名與唱名,方便進行音樂的程式設計。







程式連結



創建函式時,可以根據專案的需要適時加入所需的參數(parameter),目前提供六種型態的參數:「Text文字」、「Boolean布林值」、「Number數字」、「Array陣列」、「LedSprite ( 遊戲角色 )」和「Image圖像」。



例如創建函式時,加入「Number數字」型態的參數,我們可以透過此函數計算正方形面積,只需在【call square( )】輸入不同的正方形邊長,即可求出對應的正方形面積。


 

MakeCode block-Arraysenlightened

陣列Arrays

透過創建陣列能用來儲存一個或多個值,陣列像是一個資料櫃,在資料櫃的每一筆資料都有其專屬的編號及名稱。編號是陣列的「索引」,索引編號是由0開始的,而名稱就是陣列索引的「值」。

程式設計

在MakeCode選單中點選【Advanced】進階,就能找到並使用【Arrays】功能積木。





範例1-隨機活動抽籤機

將各種活動名稱儲存在名為【options(選項)】的陣列中。當您按下A鍵時,它會從陣列中隨機選擇一個活動並將其顯示在micro:bit的LED螢幕上。
我們需先建立一個名為【choice(選擇)】的變數,用來儲存隨機取數的數值,而數值是由0~5(陣列長度-1)的範圍內隨機取出。

補充:因為陣列的索引編號是由0開始的,因此若要取得「最後一個項目」的值,就需使用「陣列長度-1」。
"PE with Joe"是索引值0,最後一個項目 "bake a cake"是索引值5,而陣列長度為6。





程式連結




範例2-LED顯示不同亮度

將list建立為改變亮度明暗的數值陣列,讓被點亮的(x,y)座標能依據list內的數值顯示出不同的亮度。





程式連結

 

MakeCode block-Textenlightened

文字Text

文字積木用來進行文字的處理,例如:字串組合、拆解文字、判斷一段文字中是否包含某些特定文字等等,可以依據程式設計專案的需要,利用文字積木做出許多應用。

程式設計

在MakeCode選單中點選【Advanced】進階,就能找到並使用【Text】功能積木。





範例1-顯示字串長度:利用【length of(長度)】積木我們可以得到字串長度為:12。



範例2-字串組合:利用【join(組合)】積木我們可以將不同的字串組合在一起,點擊+ 號就可以增加新的字串。

此範例是以shake搖動來進行體感骰子機的遊戲,透過【show leds】顯示骰子的點數,如果再加上【join(組合)】就能以字串顯示出骰子的具體數字。因為【join(組合)】的程式內容在每一個if條件內都需重複出現,因此利用函式可以方便我們將欲重複使用的一部分程式內容簡潔地呈現。



程式連結

logo
iconiconiconiconicon
icon  電話:04-2375-3535
icon  傳真:04-2256-9949
icon  統編:90386785
icon  E-mail:service@oursteam.com.tw
icon  LINE ID:@oursteam
Inspire every child to create