迴圈積木
micro:bit 的迴圈積木,可以讓程式像是在繞一個頭尾相連的圈一般,不斷的重複運作,也可以設定一些邏輯判斷,在發生特定行為時停止重複,許多遊戲或是燈光效果,都會利用迴圈來實作。
迴圈積木有幾個分類:重複幾次、重複...判斷、計次、計次...取值、跳出 / 繼續、every...( 每隔多久重複 )。
重複幾次
「重複幾次」積木可以設定內容的程式要執行幾次,重複結束或手動停止重複之後,才會繼續執行下方的程式。
下圖的例子,micro:bit 啟動後會顯示愛心跳動的動畫,重複四次之後就會清空畫面。
重複...判斷
「重複...判斷」積木會依據後方的邏輯判斷,決定程式內容是否繼續重複,如果判斷 true 就繼續重複,判斷 false 就停止重複。
如果要使用「重複無限次」,只要讓邏輯判斷維持 true 即可。
下圖的例子,micro:bit 啟動後會不斷重複顯示愛心跳動動畫,當按下 A 按鈕時,會將變數 a 設為 false,此時愛心動畫就會停止重複,清空畫面。
計次
「計次」積木包含一個內建變數 ( 預設為 0 ),以及這個變數的數值上限,數值限定為正整數或負整數,每次迴圈重複時會依據上限決定增加 1 還是減少 1,當變數到達上限時,就會停止重複。
下圖的例子,micro:bit 啟動後,會按照 0、1、2、3 依序顯示變數 index 的數值,直到 index 等於 3 的時候停止。
計次...取值
「計次...取值」是針對陣列的迴圈積木,重複次數依據陣列的長度而定,每次重複會依序取出陣列的資料,直到取得最後一筆資料後停止重複。
下圖的例子,micro:bit 啟動後會建立一個 1、2、3、4 的陣列清單,透過「計次...取值」積木,就會依序顯示數字,直到 4 就停止重複。
跳出 / 繼續
「跳出 / 繼續」積木可以依據使用者自訂的邏輯判斷:
- 跳出:強制停止重複。
- 繼續:讓重複重新開始,放在「繼續」積木後方的程式「不會」執行。
下圖的例子,micro:bit 啟動後,會啟動一個無限重複的迴圈,每次重複時會產生一個 0~10 隨機數的變數 a,如果 a 大於 5,就使用「跳出」停止重複,不然就會一直顯示 a 的數值。
如果將上圖的例子改成「繼續」,就會變成「如果 a 小於等於 5,會顯示愛心,如果 a 大於 5,則不顯示愛心,重複繼續」
every...( 每隔多久重複 )
「every...( 每隔多久重複 )」積木類似「重複無限次積木」,但加入了每次重複結束後的「等待時間」,可以設定每隔多久重複一次積木的內容。
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~