🎮 C07 闖關與速度控制

學習廣播訊息、變數控制與闖關系統的完整教學

🎯 第一章:教學目標

📚 學習目標

  • 廣播訊息控制:學會利用廣播訊息控制遊戲關卡進入
  • 變數控制應用:理解變數控制在遊戲設計中的應用(分數、關卡、速度、基準點)
  • 迴圈與判斷式:熟悉迴圈與判斷式的組合,讓遊戲能依序進入下一關
  • 隨機數與反彈:學會用隨機數與反彈控制球的起始方向與得分機制
💡 課程重點:
  • 掌握廣播訊息在遊戲流程控制中的應用
  • 理解變數如何影響遊戲行為和關卡進度
  • 學會設計漸進式難度的闖關系統
  • 掌握球的物理運動和碰撞檢測

🛠️ 第二章:前置準備

📥 基本檔案下載

下載 C07 闖關與速度控制的基本檔案,包含所有必要的角色和初始設定

📁 下載 C07 基本檔.sb3
💡 使用說明:
  1. 點擊上方連結下載 .sb3 檔案
  2. 開啟 Scratch 網站 (scratch.mit.edu)
  3. 點選「上傳」按鈕選擇下載的檔案
  4. 開始實作闖關與速度控制功能

📁 檔案準備

基本檔案操作

  1. 下載基本檔:下載提供的基本檔,不要直接覆蓋舊作業
  2. 修改檔名:修改檔名為「班級座號-7.sb3」
  3. 隱藏停止線:隱藏紅色停止線,方便測試過關
  4. 檢查角色:確認所有必要角色都已建立

🎮 遊戲角色清單

必要角色

  • :主要的遊戲物件,會反彈移動
  • 磚塊:會被球擊破的目標物件
  • 選磚塊角色:控制磚塊生成和關卡進度
  • 背景:遊戲場景背景
⚠️ 注意事項:
  • 不要覆蓋之前的作業檔案
  • 確保檔名格式正確
  • 隱藏測試用的停止線
  • 檢查所有角色的初始狀態

⚙️ 第三章:遊戲初始設定

🎮 遊戲啟動程式

綠旗啟動程式

當遊戲開始時,設定初始狀態:

綠旗 被點擊
隱藏變數 分數
隱藏變數 關卡
隱藏變數 速度
隱藏變數 x軸基準點

📊 變數顯示與初始化

接收啟動訊息的程式

當接收到「start」訊息時,顯示變數並設定初值:

當收到 start
顯示變數 分數
顯示變數 關卡
顯示變數 速度
顯示變數 x軸基準點
分數 設為 0
關卡 設為 0
速度 設為 0
x軸基準點 設為 50

📈 變數說明

🎯 分數

記錄玩家擊破的磚塊數量,用於判斷關卡進度

🏆 關卡

記錄目前所在的關卡數,從0開始計算

⚡ 速度

控制球的移動速度,每關增加10

📍 x軸基準點

磚塊排列的x座標基準,每關向左移動50點

📡 第四章:廣播控制關卡進入

🎯 關卡判斷邏輯

選磚塊角色的關卡控制

在「選磚塊角色」加入判斷式(置於「重複無限次」內):

綠旗 被點擊
重複無限次
如果 關卡 = 0 且 分數 = 0
廣播 go1
關卡 改變 1
速度 改變 10
如果 關卡 = 1 且 分數 = 1
廣播 go2
關卡 改變 1
速度 改變 10
如果 關卡 = 2 且 分數 = 4
廣播 go3
關卡 改變 1
速度 改變 10
如果 關卡 = 3 且 分數 = 9
廣播 go4
關卡 改變 1
速度 改變 10
如果 關卡 = 4 且 分數 = 16
廣播 go5
關卡 改變 1
速度 改變 10
如果 關卡 = 5
切換背景到 闖關成功
停止 全部
💡 關卡進度邏輯:
  • 第1關:關卡=0,分數=0 → 需要擊破1個磚塊
  • 第2關:關卡=1,分數=1 → 需要擊破3個磚塊(總計4個)
  • 第3關:關卡=2,分數=4 → 需要擊破5個磚塊(總計9個)
  • 第4關:關卡=3,分數=9 → 需要擊破7個磚塊(總計16個)
  • 第5關:關卡=4,分數=16 → 需要擊破9個磚塊(總計25個)
  • 完成:關卡=5 → 顯示闖關成功背景

🧱 第五章:關卡磚塊設計

📐 每關磚塊排列

第1關 (go1)

1×1 磚塊

需要擊破:1個

第2關 (go2)

2×2 磚塊

■■
■■

需要擊破:3個

第3關 (go3)

3×3 磚塊

■■■
■■■
■■■

需要擊破:5個

第4關 (go4)

4×4 磚塊

■■■■
■■■■
■■■■
■■■■

需要擊破:7個

第5關 (go5)

5×5 磚塊

■■■■■
■■■■■
■■■■■
■■■■■
■■■■■

需要擊破:9個

📍 磚塊定位系統

x軸基準點調整

每關開始時,x軸基準點向左移動50點:

當收到 go1
x軸基準點 設為 50
定位到 x: x軸基準點 y: 140
當收到 go2
x軸基準點 設為 0
定位到 x: x軸基準點 y: 140
當收到 go3
x軸基準點 設為 -50
定位到 x: x軸基準點 y: 140
⚠️ 定位重點:
  • 每關的x軸基準點遞減50點
  • 第一塊磚塊定位到 (x軸基準點, 140)
  • 新排起始時,x座標設為基準點
  • 確保磚塊排列整齊且居中

⚽ 第六章:球的速度控制

🎯 球的基本設定

球的移動速度控制

球的移動速度使用變數「速度」來控制:

綠旗 被點擊
重複無限次
移動 速度
如果 碰到邊緣 就反彈
如果 碰到 磚塊
反彈
分數 改變 1
刪除此分身

🎲 每關開始設定

球的重置程式

每關開始時,球回到原點並設定隨機方向:

當收到 go1
定位到 x: 0 y: 0
面向 隨機取數 150 到 170
當收到 go2
定位到 x: 0 y: 0
面向 隨機取數 150 到 170
當收到 go3
定位到 x: 0 y: 0
面向 隨機取數 150 到 170
當收到 go4
定位到 x: 0 y: 0
面向 隨機取數 150 到 170
當收到 go5
定位到 x: 0 y: 0
面向 隨機取數 150 到 170
💡 速度控制重點:
  • 初始速度:第1關速度為10
  • 速度遞增:每關速度增加10
  • 隨機方向:150°~170°的隨機角度
  • 碰撞計分:碰到磚塊才計分
  • 磚塊消失:被擊中的磚塊會刪除

🚀 第七章:自主延伸任務

📝 基本延伸任務

開場顯示資訊

在開場顯示「班級/座號/姓名」:

綠旗 被點擊
說出 班級:XXX 座號:XX 姓名:XXX 3
等待 3
廣播 start

🎯 進階延伸任務

新增第6關

挑戰更困難的第6關設計:

  • 磚塊排列:設計6×6的磚塊排列
  • 磚塊尺寸:調整磚塊的大小
  • 間距調整:修改磚塊之間的間距
  • 過關條件:設定第6關的過關分數
✅ 延伸任務檢查清單:
  • 開場正確顯示個人資訊
  • 第6關磚塊排列整齊
  • 磚塊尺寸和間距適當
  • 過關條件設定正確
  • 遊戲流程順暢
  • 沒有程式錯誤

📝 第八章:作業要求

基本要求(必須完成)

  • ✅ 建立完整的變數系統(分數、關卡、速度、x軸基準點)
  • ✅ 實現廣播訊息控制關卡進入
  • ✅ 設計5個關卡的磚塊排列(1×1到5×5)
  • ✅ 實現球的速度控制和隨機方向
  • ✅ 建立碰撞偵測和計分系統
  • ✅ 實現闖關成功條件
  • ✅ 開場顯示班級座號姓名

進階挑戰(加分項目)

  • 🎨 設計更精美的磚塊和背景
  • 🎵 添加音效和背景音樂
  • ⏱️ 增加計時功能
  • 🏆 建立最高分記錄
  • 🔄 添加重新開始功能
  • 🚀 新增第6關或更多關卡
  • 💎 添加特殊磚塊(加分、減速等)
  • 🎯 設計不同形狀的磚塊排列
⚠️ 繳交規範:
  • 檔案名稱:C07_闖關與速度控制_班級_姓名.sb3
  • 確保所有功能正常運作
  • 在角色上註明班級和姓名
  • 測試所有關卡確保流程順暢
  • 變數顯示和隱藏功能正常
  • 廣播訊息系統運作正確
🎉 完成檢查清單:
  • 遊戲能正常啟動和初始化
  • 5個關卡都能正常進入
  • 球的速度隨關卡遞增
  • 磚塊被擊中會正確消失並計分
  • 過關條件判斷正確
  • 闖關成功時顯示成功背景
  • 開場顯示個人資訊
  • 程式沒有錯誤或卡住
💡 製作提示:
  • 可以先完成基本功能,再考慮進階挑戰
  • 測試時要確保每個關卡都能正常進入
  • 變數的顯示和隱藏時機要正確
  • 磚塊的定位要精確,排列要整齊
  • 球的速度要適中,不要太快或太慢