Scratch 迷宮遊戲製作教學:進階專案帶你打造多關卡冒險!
為什麼要做 Scratch 迷宮遊戲?
迷宮遊戲是學習程式設計的經典入門專案!它看起來簡單,卻能讓孩子在製作過程中,自然而然地學會角色控制、碰撞偵測、事件處理和遊戲設計等重要概念。對於已經有一點 Scratch 基礎的孩子來說,迷宮遊戲是一個非常棒的進階挑戰。
完成這個專案之後,孩子將能夠:
- 使用方向鍵控制角色在迷宮中移動
- 讓角色偵測到碰到牆壁時自動退回
- 設計終點條件,讓遊戲能夠「破關」
- 加入計時器和分數,讓遊戲更有挑戰性
- 創作多個關卡,打造完整遊戲體驗
這個專案非常適合 8 歲以上、已經玩過 Scratch 並了解基本積木操作的孩子。如果你的孩子還沒有 Scratch 基礎,建議先參考我們的 Scratch 動畫製作教學,從角色移動開始學起!
第一步:準備迷宮背景
製作迷宮遊戲的第一件事,就是畫出迷宮!在 Scratch 中,我們可以使用內建的繪圖工具來設計迷宮背景。
如何畫迷宮背景?
- 點選舞台左下角的「選擇背景」按鈕,然後選擇「繪畫」
- 使用矩形工具畫出迷宮的外框(建議用深色,例如深藍色或黑色)
- 在外框內用相同顏色畫出迷宮的牆壁,留出走道
- 在迷宮的某個角落,用不同顏色(例如亮綠色)標示終點區域
💡 小技巧:初學者可以先設計一個簡單的迷宮,走道寬度至少要有 30 到 40 像素,這樣角色才容易通過。牆壁顏色一定要統一,後面我們會用「顏色碰觸偵測」來判斷角色有沒有碰到牆壁!
第二步:新增玩家角色
迷宮背景設計好之後,就要加入讓玩家操控的角色了。你可以從 Scratch 的角色庫選一個喜歡的角色,或者自己畫一個小人、小球。
設定角色大小與起始位置
- 將角色縮小到適合迷宮走道的大小(通常 20 到 30 像素最合適)
- 把角色拖到迷宮的入口位置
- 在積木區加上「當綠旗被點擊」的事件積木,然後用「定位到 x: __ y: __」積木設定角色的起始座標
這樣每次遊戲重新開始時,角色就會自動回到起點,不需要手動移動!
第三步:用方向鍵控制角色移動
現在來做最有趣的部分——讓角色動起來!我們要用鍵盤的方向鍵來控制角色上下左右移動。
移動積木的設定方式
在角色的積木編輯區,加入以下四組積木(每個方向鍵各一組):
- 向上移動:「當 ↑ 鍵被按下」→「將 y 改變 3」
- 向下移動:「當 ↓ 鍵被按下」→「將 y 改變 -3」
- 向左移動:「當 ← 鍵被按下」→「將 x 改變 -3」
- 向右移動:「當 → 鍵被按下」→「將 x 改變 3」
數字「3」代表每次按下按鍵移動的距離,你可以根據迷宮走道的寬度來調整。走道越窄,移動速度就應該越慢,這樣角色才不會直接穿牆!
想學更多角色移動的技巧嗎?可以參考我們的 Scratch 接球遊戲教學,裡面有更多關於角色控制的詳細說明。
第四步:加入碰撞偵測(讓角色不能穿牆!)
迷宮遊戲最重要的機制,就是碰撞偵測——當角色碰到牆壁時,要自動退回去,不能穿越牆壁。這個功能用到了 Scratch 的「顏色碰觸」積木,是整個專案最核心的程式邏輯!
碰撞偵測的積木設定
- 在角色積木區,加入一個「當綠旗被點擊」的事件積木
- 接上「重複無限次」的迴圈積木
- 在迴圈裡放入「如果 __ 那麼」的條件積木
- 條件設為「碰到顏色 __ ?」,顏色選擇你的牆壁顏色
- 如果條件成立,就執行:「將 x 改變 __」或「將 y 改變 __」,讓角色往相反方向退回
💡 進階小技巧:更精確的做法是記錄角色移動前的位置,一旦偵測到碰牆就退回到上一個位置。方法是:移動前先用「將變數 [上一個x] 設為 (x 座標)」記錄位置,碰牆後再用「定位到 x: (上一個x) y: (上一個y)」退回去。這樣角色的移動會更流暢!
第五步:設定終點與過關條件
迷宮有入口,當然也要有出口!我們要讓角色到達終點時觸發「過關」的效果。
如何偵測到達終點?
- 在碰撞偵測的迴圈中,再加入一個「如果 __ 那麼」積木
- 條件設為「碰到顏色 __ ?」,顏色選擇你畫的終點顏色(例如亮綠色)
- 如果條件成立,可以執行:
- 讓角色說「你過關了!」
- 播放勝利音效
- 廣播「過關」訊息,準備切換到下一關
進階功能:讓遊戲更精彩!
基本的迷宮遊戲做好之後,可以加入更多進階功能,讓遊戲變得更有趣、更有挑戰性!
加入計時器
計時器可以增加遊戲的緊張感。做法很簡單:
- 新增一個「計時」變數,並在舞台上顯示出來
- 遊戲開始時,用「計時器歸零」積木重置計時器
- 在迴圈中持續更新「計時」變數的值(設為計時器的數值)
- 如果想加入時間限制,可以設定:當計時超過某個秒數,遊戲結束!
加入分數系統
如果想讓玩家比較成績,可以加入分數系統。例如:
- 越快破關得分越高
- 每收集到迷宮中的寶物就加分
- 碰到障礙物就扣分
設計多關卡
多關卡是讓迷宮遊戲變得完整的關鍵!做法是:
- 為每個關卡設計不同的背景(迷宮難度逐漸增加)
- 用「廣播」積木在關卡之間傳遞訊息
- 當角色過關時,廣播「進入第二關」,然後切換背景並重置角色位置
- 關卡越後面,迷宮越複雜,或是加入移動的障礙物
透過多關卡的設計,孩子不只是在「寫程式」,更是在思考遊戲設計的邏輯——什麼樣的難度曲線讓玩家既有挑戰感又不會太挫折,這本身就是非常寶貴的思考訓練!
這個專案學到了哪些程式概念?
完成 Scratch 迷宮遊戲之後,孩子其實已經掌握了許多重要的程式設計概念:
- 事件處理:按下鍵盤觸發角色移動
- 迴圈:用「重複無限次」持續偵測碰撞和終點條件
- 條件判斷:「如果碰到牆壁,就退回去」
- 顏色偵測:用顏色來區分牆壁、走道和終點
- 變數:用來記錄分數、計時和關卡數
- 廣播與訊息:在不同關卡之間傳遞訊息
這些概念是所有程式語言的共同基礎,孩子未來學 Python、JavaScript 或其他語言時,都會再次遇到這些邏輯!
給爸爸媽媽的小提醒
製作迷宮遊戲的過程中,孩子可能會遇到一些挫折,例如角色穿過牆壁、顏色偵測不準確等。這些都是非常正常的!鼓勵孩子慢慢除錯(Debug),找出問題在哪裡,這個過程本身就是學習最珍貴的一部分。
爸爸媽媽可以陪孩子一起討論:「為什麼角色會穿牆?」「牆壁顏色有沒有設定正確?」引導孩子思考,而不是直接給答案。當孩子自己找到問題並解決時,那種成就感是無可取代的!
完成基本迷宮遊戲後,不妨讓孩子自由發揮,加入自己的創意元素。說不定他們會設計出讓你意想不到的關卡或玩法喔!
繼續閱讀
Scratch 接球遊戲製作教學:帶孩子從零開始做第一個小遊戲
接球遊戲是 Scratch 入門最棒的專案之一。這篇教學帶你跟孩子一步步完成一個有計分、有音效、會越來越快的接球遊戲。
相關文章
你可能也喜歡
探索其他領域的精選好文