MISSION 04 · 安全區守門員

超出範圍
立刻回原點

用方向鍵改變角色的 x、y 座標,先預測要按幾下,再教電腦判斷角色有沒有超出安全區。

PART 1先讓角色聽懂四個方向鍵
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 下,判斷才會成立。

PART 2教電腦做出「如果……那麼……」判斷
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操作驗證

測試四個方向,並說明哪一個條件在那一刻成立。

向老師說明這三題,就能領取過關!
  1. 為什麼 x = 120 時還不會回原點?
  2. 從(0, 0)開始,每次 y 改變 -10,按幾下會超出 -60?
  3. 如果按上鍵卻觸發右邊界判斷,應該檢查哪一個座標?
MISSION CHECK

第四堂課挑戰完成!

我能預測按鍵次數,並用「如果」判斷角色是否超出座標安全區。

回任務地圖
挑戰加分題完成本課基本任務後再挑戰

雙門傳送任務

建立一個入口和一個出口。角色用方向鍵走到入口後,立刻傳送到出口,並說出「傳送成功,任務過關!」

藍色入口(-100, 60)
紅色出口(150, -80)
1放好兩扇門

把入口與出口角色定位到指定座標。

2先預測按鍵

從(0, 0)出發,算出到入口最少要按幾下。

3完成傳送判斷

碰到藍色入口,才傳送到紅色出口並顯示過關。

當綠旗被點擊
重複無限次
如果 碰到藍色傳送門? 那麼
定位到 x: 150 y: -80
說出 傳送成功,任務過關! 持續 2 秒
停止 這個程式
加分條件
  • 先說出左鍵 10 下、上鍵 6 下,最少共 16 下。
  • 沒有碰到入口時,角色不會被傳送。
  • 碰到入口後,角色出現在(150, -80)並說出過關訊息。