單元 5 · 事件與控制流

事件積木、條件、迴圈、雙工具對照

5.1 事件:程式怎麼「醒過來」

事件(Event)是讓腳本開始執行的觸發條件。沒有事件,腳本就只是躺著的積木。

工具常見事件
Scratch當 ⚑ 被點擊、當 [空白鍵] 按下、當角色被點擊、收到廣播
MakeCodeon start、on button A pressed、on shake、on radio received
事件驅動思維:與其問「程式什麼時候跑」,不如問「什麼事情發生時要跑」。這跟真實世界一樣:門鈴響了才去開門。

5.2 條件:讓程式做決定

Scratch
當 ⚑ 被點擊
重複無限次
  如果 <碰到 [邊緣] 呢?> 那麼
    說出「到邊界了!」
    移動 -10 步
  否則
    移動 10 步
MakeCode
forever
  if light level < 40 then
    show string "太暗了"
  else
    show string "剛剛好"

5.3 迴圈:讓程式重複

類型ScratchMakeCode
有次數重複 10 次for index 0 to 9
無限重複無限次forever
條件重複直到⋯while ⋯ do
為什麼迴圈重要:迴圈讓「一段積木」反覆使用——程式因此變短、也更好改(改一處等於改全部)。

5.4 Worked Example:會反彈的貓

範例
目標:貓咪在舞台左右來回,碰到邊緣反彈
Scratch:
  當 ⚑ 被點擊
  重複無限次
    移動 10 步
    碰到邊緣就反彈      ← 內建積木
    等待 0.1 秒

挑戰:加入「按空白鍵加速」(速度變數)。

動手:做一個「碰到邊緣反彈」的貓,並加入一個條件讓它在碰到某色時說「到了!」。

看完這單元你應該能說出:
  • 解釋事件驅動與順序程式的差異。
  • 用條件與迴圈控制流程。
  • 完成雙工具的控制流實作。

延伸閱讀