01
ARROW KEY CONTROL
每按一下,座標改變 10
先把角色放在(0, 0),再替四個方向鍵各寫一小段程式。左右改變 x,上下改變 y;正數往右或往上,負數往左或往下。
右方向鍵
x 改變 10
左方向鍵
x 改變 -10
上方向鍵
y 改變 10
下方向鍵
y 改變 -10
當 右方向 鍵被按下
x 改變 10
操作檢查
- 按右鍵時,只有 x 座標增加。
- 按下鍵時,只有 y 座標減少。
- 每按一次,數字都剛好改變 10。
02
PREDICT BEFORE YOU PRESS
先別按!預測幾下會超界
安全區的左右邊界是 -100 和 100,上下邊界是 -80 和 80。角色從(0, 0)出發,每次移動 10。先寫下預測,再操作驗證。
y = 80x = 100y = -80x = -100🐱(0, 0)超出安全區
| 測試方向 | 到達邊界 | 超出邊界 |
|---|---|---|
| 一直按右鍵 | 第 10 下到 x = 100 | 第 11 下到 x = 110 |
| 一直按上鍵 | 第 8 下到 y = 80 | 第 9 下到 y = 90 |
「到達」和「超過」不一樣
x = 100 還在安全區裡;只有 x > 100 才算超出。因此向右要按第 11 下,判斷才會成立。
03
IF · THEN
第一次判斷:太右邊就回原點
判斷就是請電腦回答一個只有「是」或「不是」的問題。只在答案是「是」的時候,執行裡面的指令。
問題x 座標大於 100 嗎?
是回到(0, 0)
不是繼續移動
當綠旗被點擊
重複無限次
如果 x 座標 > 100 那麼
定位到 x: 0 y: 0
為什麼要放進「重複無限次」?
因為角色會一直移動,電腦也必須一直重新檢查座標有沒有超出範圍。
04
COMPLETE THE SAFE ZONE
四個問題,守住四個方向
第一個判斷成功後,再加入另外三個方向。先用自己的話說出問題,再選擇 x 或 y、大於或小於。
太右邊了嗎?x 座標 > 100
太左邊了嗎?x 座標 < -100
太上面了嗎?y 座標 > 80
太下面了嗎?y 座標 < -80
安全區規則-100 ≤ x ≤ 100,而且 -80 ≤ y ≤ 80
只要四個問題中有一個成立,角色就定位回(0, 0)。
四邊測試
- 分別向右、左、上、下走出安全區。
- 每一次超出範圍,角色都回到(0, 0)。
- 只到達邊界時,角色不會提早回去。
05
FINAL MISSION
安全區守門員最終挑戰
不要立刻按綠旗。先完成預測,再執行程式。實際結果不同時,只修改一個地方並重新測試。
1修改規則
把左右邊界改成 ±120,上下邊界改成 ±60。
2寫下預測
從原點出發,各方向要按第幾下才會回原點?
3操作驗證
測試四個方向,並說明哪一個條件在那一刻成立。
向老師說明這三題,就能領取過關!
- 為什麼 x = 120 時還不會回原點?
- 從(0, 0)開始,每次 y 改變 -10,按幾下會超出 -60?
- 如果按上鍵卻觸發右邊界判斷,應該檢查哪一個座標?
MISSION CHECK
回任務地圖 第四堂課挑戰完成!
我能預測按鍵次數,並用「如果」判斷角色是否超出座標安全區。
挑戰加分題完成本課基本任務後再挑戰
雙門傳送任務
建立一個入口和一個出口。角色用方向鍵走到入口後,立刻傳送到出口,並說出「傳送成功,任務過關!」
藍色入口(-100, 60)
紅色出口(150, -80)
1放好兩扇門
把入口與出口角色定位到指定座標。
2先預測按鍵
從(0, 0)出發,算出到入口最少要按幾下。
3完成傳送判斷
碰到藍色入口,才傳送到紅色出口並顯示過關。
當綠旗被點擊
重複無限次
如果 碰到藍色傳送門? 那麼
定位到 x: 150 y: -80
說出 傳送成功,任務過關! 持續 2 秒
停止 這個程式
加分條件
- 先說出左鍵 10 下、上鍵 6 下,最少共 16 下。
- 沒有碰到入口時,角色不會被傳送。
- 碰到入口後,角色出現在(150, -80)並說出過關訊息。