🎮 C04 迷宮遊戲-選擇結構2

進階條件判斷與迷宮遊戲開發完整教學

📚 第一章:課程介紹與學習目標

🎯 學習目標

  • 掌握進階選擇結構的應用
  • 學習複合條件判斷
  • 開發完整的迷宮遊戲
  • 實作碰撞檢測系統
  • 設計遊戲關卡機制

🎮 迷宮遊戲概念

迷宮遊戲是一個經典的程式設計專案,需要運用多種程式概念:

遊戲核心元素

  • 玩家角色:可控制的遊戲角色
  • 迷宮地圖:由牆壁和通道組成
  • 碰撞檢測:判斷是否撞到牆壁
  • 勝利條件:到達終點的判斷
  • 關卡系統:多個不同難度的迷宮

迷宮遊戲示意圖

S
E

S = 起點, E = 終點, 黑色 = 牆壁, 白色 = 通道

💡 程式設計重點:本課程將深入學習「選擇結構2」,包括複合條件判斷、巢狀條件結構,以及如何將這些概念應用到實際遊戲開發中。

🛠️ 第二章:準備工作與遊戲設計

📋 遊戲企劃書

遊戲基本設定

項目 內容 說明
遊戲名稱 超級迷宮大冒險 吸引人的遊戲標題
主角 小貓咪 玩家控制的角色
目標 找到出口 遊戲勝利條件
操作 方向鍵移動 簡單直覺的控制
難度 三個關卡 逐漸增加挑戰性

📥 資源下載

迷宮背景圖下載

請先下載以下迷宮背景圖,用於遊戲開發:

💡 下載說明:點擊連結後,在 Google Drive 中點選「下載」按鈕,將圖片儲存到電腦中,然後在 Scratch 中上傳使用。

🎨 角色與場景設計

步驟一:建立新專案

  1. 開啟Scratch,點選「建立」
  2. 刪除預設的貓咪角色
  3. 設定專案名稱為「迷宮遊戲」
📷 新專案建立截圖
建議尺寸:800x450像素

步驟二:設計玩家角色

  1. 點選「選擇一個角色」
  2. 選擇喜歡的角色(建議:小貓、小狗或球)
  3. 調整角色大小為適中(50-80%)
  4. 設定角色初始位置
綠旗 被點擊
切換背景到 迷宮-1
定位到 x: -200 y: -140
說出 請按上下左右鍵開始玩! 2

步驟三:建立迷宮背景

  1. 點選舞台區域
  2. 點選「選擇一個背景」
  3. 上傳剛才下載的迷宮背景圖(依序:迷宮-1、迷宮-2、迷宮-3)
  4. 在迷宮-1 的紅色點位置加入:班級/座號/姓名
  5. 確保有清楚的牆壁(黑色)和通道區分
📷 迷宮背景設計截圖
建議尺寸:480x360像素
⚠️ 設計提醒:
  • 迷宮通道寬度要適中,讓角色可以通過
  • 牆壁顏色要與通道明顯區分
  • 起點和終點要清楚標示
  • 避免設計過於複雜的迷宮

🧠 第三章:進階選擇結構與條件判斷

🎯 本章重點

學習複合條件判斷、巢狀選擇結構,以及如何在遊戲中應用這些概念進行碰撞檢測和狀態判斷。

🔍 複合條件判斷

什麼是複合條件?

複合條件是指同時檢查多個條件的判斷方式,使用邏輯運算子來組合多個條件。

邏輯運算子 功能 範例
且 (AND) 所有條件都成立 按下右鍵 且 沒有碰到牆壁
或 (OR) 至少一個條件成立 碰到紅色 或 碰到黑色
非 (NOT) 條件不成立 不是 碰到牆壁

實作範例:安全移動檢測

在迷宮遊戲中,我們需要檢查玩家是否可以安全移動:

💡 程式邏輯解析:
  • 條件1:按鍵 [右鍵] 被按下?
  • 條件2:不是 碰到顏色 (黑色)?
  • 結果:兩個條件都成立時,角色才會向右移動

🎮 球的移動控制(多重選擇結構)

完整的移動控制系統

使用多重選擇結構來處理四個方向的移動,比單獨判斷更有效率:

綠旗 被點擊
重複無限次
如果 按鍵 [上鍵] 被按下?
面向 0
移動 10
否則如果 按鍵 [右鍵] 被按下?
面向 90
移動 10
否則如果 按鍵 [下鍵] 被按下?
面向 180
移動 10
否則如果 按鍵 [左鍵] 被按下?
面向 -90
移動 10
💡 多重選擇的優點:
  • 一次只會執行一個方向的移動
  • 避免同時按下多個鍵時的衝突
  • 程式執行效率更高
✅ 程式設計技巧:
  • 先移動,再檢查碰撞,如果碰撞就退回
  • 這種方式可以確保角色不會卡在牆壁裡
  • 移動距離要適中,太大會不流暢,太小會太慢

🎮 第四章:完整迷宮遊戲開發

🎯 碰撞偵測與過關條件

完整的碰撞檢測系統

另開一組「當綠旗被點擊」專門負責碰撞檢測,先移動再播放音效:

綠旗 被點擊
重複無限次
如果 碰到顏色 (#000000)?
反彈
播放音效 POP
否則如果 碰到顏色 (#ff0000)?
說出 恭喜過關! 0.1
切換背景到 迷宮-2
否則如果 碰到顏色 (#0000ff)?
說出 恭喜過關! 0.1
切換背景到 迷宮-3
否則如果 碰到顏色 (#00ff00)?
說出 恭喜過關! 0.1
停止 全部
💡 碰撞檢測說明:
  • 黑色:牆壁,碰到會反彈並播放音效
  • 紅色:第一關過關點,切換到迷宮-2
  • 藍色:第二關過關點,切換到迷宮-3
  • 綠色:第三關終點,開始旋轉慶祝

建立多關卡系統

設計三個不同難度的迷宮關卡:

關卡 特色 難度 獎勵分數
第一關 簡單直線迷宮 100分
第二關 分岔路徑迷宮 ⭐⭐ 200分
第三關 複雜多層迷宮 ⭐⭐⭐ 300分

⏱️ 計時與計分系統

建立遊戲變數

在「變數」區塊中建立以下變數:

  • 分數:記錄玩家得分
  • 關卡:記錄目前關卡
  • 時間:記錄遊戲時間
  • 生命:記錄剩餘生命數
綠旗 被點擊
設定 分數0
設定 關卡1
設定 時間0
設定 生命3
重複無限次
等待 1
時間 改變 1

💀 生命系統與重新開始

實作生命系統

當玩家碰到陷阱或敵人時,減少生命值:

綠旗 被點擊
重複無限次
如果 碰到顏色 (#ff0000)?
播放音效 受傷
生命 改變 -1
如果 生命 > 0
說出 小心陷阱! 1
定位到 x: -200 y: 150
否則
說出 遊戲結束! 2
停止 全部
等待 1

🌟 高手題(加分 15%)

進階功能實作

  • 終點旋轉:在第三關綠色終點持續快速旋轉(15 度)
  • 音效:新增 XyLo1 並在遊戲中循環播放至結束
  • 阻擋角色(箭頭示例):
    • 當綠旗被點擊 → 箭頭持續順時鐘旋轉,並依序在 A → B → C → D 四點之間滑行,每段 2 秒
    • 若球碰到箭頭 → 背景切回迷宮-1,球回到起點 (-200, -140)
    • 四點座標:A(-200,150)、B(200,150)、C(200,-150)、D(-200,-150)
綠旗 被點擊
重複播放音效 XyLo1
重複無限次
右轉 15
滑行 2 秒到 x: -200 y: 150
滑行 2 秒到 x: 200 y: 150
滑行 2 秒到 x: 200 y: -150
滑行 2 秒到 x: -200 y: -150
📷 完整遊戲運行截圖
建議尺寸:800x600像素
包含:角色、迷宮、分數顯示、關卡資訊

⚡ 第五章:遊戲功能強化與優化

🎵 音效與視覺效果

添加遊戲音效

為不同的遊戲事件添加適當的音效:

  • 移動音效:腳步聲或移動音
  • 碰撞音效:撞擊或錯誤音
  • 勝利音效:成功或慶祝音
  • 背景音樂:循環播放的背景音
綠旗 被點擊
重複播放音效 背景音樂

視覺特效設計

增加遊戲的視覺吸引力:

當收到訊息 過關
特效 彩色 0.5
大小改變 20
等待 0.2
大小改變 -20

🤖 智能提示系統

實作提示功能

當玩家卡關時,提供智能提示:

當按鍵 h 被按下
如果 關卡 = 1
說出 試試往右走! 2
如果 關卡 = 2
說出 注意分岔路! 2
如果 關卡 = 3
說出 仔細觀察地圖! 2

📊 遊戲數據統計

建立成績記錄系統

記錄玩家的遊戲表現:

當收到訊息 遊戲結束
設定 最終分數分數
設定 完成時間時間
如果 最終分數 > 最高分數
設定 最高分數最終分數
說出 新紀錄! 2
🎉 遊戲完成檢核表:
  • ✅ 角色可以用方向鍵控制移動
  • ✅ 碰到牆壁時無法通過
  • ✅ 到達終點時顯示過關訊息
  • ✅ 有多個關卡可以挑戰
  • ✅ 分數和時間正確計算
  • ✅ 音效和視覺效果正常

📝 第六章:作業設計與學習評量

🎯 基礎作業

作業一:基本迷宮遊戲 (70分)

要求:

  • 建立一個簡單的迷宮遊戲
  • 玩家可以用方向鍵控制角色移動
  • 實作基本的碰撞檢測
  • 設計起點和終點
  • 到達終點時顯示勝利訊息

作業二:進階功能實作 (85分)

在基礎作業基礎上增加:

  • 設計至少3個不同的關卡
  • 加入計分系統
  • 實作生命系統
  • 添加音效和視覺效果
  • 設計遊戲開始和結束畫面

🌟 創意挑戰

挑戰一:智能迷宮 (100分)

創新功能:

  • 隨機生成迷宮地圖
  • 加入移動的敵人或障礙
  • 設計道具系統(加速、無敵等)
  • 實作小地圖顯示功能
  • 建立排行榜系統

挑戰二:多人迷宮競賽

進階挑戰:

  • 支援兩個玩家同時遊戲
  • 設計競速或對戰模式
  • 加入特殊技能或道具
  • 實作即時計分比較

📤 作業繳交方式

繳交檔案要求

  1. Scratch專案檔:儲存為 .sb3 格式
  2. 遊戲截圖:至少3張不同關卡的截圖
  3. 設計說明:簡述遊戲特色和創意點
  4. 檔名格式:學號_姓名_迷宮遊戲
📷 作業繳交截圖範例
建議尺寸:800x400像素
包含:遊戲畫面、程式碼片段、創意功能展示

🏆 評分標準

評分項目 配分 評分重點
程式功能 40% 基本功能完整性、程式邏輯正確性
選擇結構應用 25% 條件判斷使用恰當、複合條件運用
遊戲設計 20% 關卡設計合理、難度漸進、遊戲性
創意表現 15% 獨特功能、視覺設計、音效運用

📚 相關資源與下載連結

💡 使用說明:
  • 點擊連結後,在 Google Drive 中點選「下載」按鈕
  • 將圖片儲存到電腦中,然後在 Scratch 中上傳使用
  • 建議使用 Chrome 或 Safari 瀏覽器以獲得最佳下載體驗
⬆️ 回到頂部