🐱 C03 貓咪過馬路-選擇結構與碰撞偵測

學習選擇結構、碰撞偵測與遊戲控制的完整教學

🎯 第一章:課程介紹

🐱 貓咪過馬路遊戲簡介

本課程將帶領大家製作一個經典的貓咪過馬路遊戲!透過這個專案,我們將學習:

  • 選擇結構:條件判斷與決策邏輯
  • 鍵盤控制:使用上下左右鍵控制角色移動
  • 碰撞偵測:判斷碰到車輛或終點線
  • 訊息顯示:失敗和過關訊息的顯示
  • 遊戲邏輯:完整的遊戲流程控制
🎮 鍵盤控制

使用上下左右按鍵精確控制貓咪移動

🚗 障礙物設計

綠車和紫車作為移動障礙,增加遊戲挑戰性

🎯 目標導向

貓咪需要安全到達終點線才算過關

💬 即時回饋

碰撞車輛顯示失敗訊息,到達終點顯示過關訊息

🛠️ 第二章:前置準備

📥 教學檔案下載

下載貓咪過馬路遊戲的教學檔案,包含完整的範例程式和角色設定

📁 下載貓咪過馬路教學檔.sb3
💡 使用說明:
  1. 點擊上方連結下載 .sb3 檔案
  2. 開啟 Scratch 網站 (scratch.mit.edu)
  3. 點選「上傳」按鈕選擇下載的檔案
  4. 參考教學檔案學習程式設計技巧
  5. 開始製作自己的貓咪過馬路遊戲

📁 檔案準備步驟

  1. 下載教學檔:下載提供的教學檔案作為參考
  2. 建立新專案:建立新的 Scratch 專案
  3. 修改檔名:修改檔名為「班級座號-3.sb3」
  4. 檢查角色:確認所有必要角色都已建立
⚠️ 注意事項:
  • 教學檔案僅供參考,請獨立完成作業
  • 確保檔名格式正確
  • 在角色上註明班級和姓名
  • 測試程式確保功能正常

🎮 第三章:遊戲概述

🐱 遊戲角色介紹

綠車
🐱
紫車

遊戲基本設定

  • 貓咪:玩家控制的角色,使用上下左右鍵移動
  • 綠車:移動的障礙物,碰到會失敗
  • 紫車:移動的障礙物,碰到會失敗
  • 終點線:紅色的垂直線條,到達算過關
  • 道路:貓咪需要在道路上安全移動

🎯 遊戲流程

遊戲執行步驟

  1. 開始遊戲:點擊綠旗開始
  2. 車輛移動:綠車和紫車開始移動
  3. 貓咪控制:玩家使用上下左右鍵控制貓咪
  4. 碰撞偵測:檢查貓咪是否碰到車輛或終點線
  5. 結果判定:碰到車輛顯示失敗,碰到終點顯示過關

💻 第四章:貓咪控制程式設計

🐱 貓咪移動控制

上下左右鍵控制

貓咪使用鍵盤控制,支援上下左右四個方向的移動:

綠旗 被點擊
定位到 x: -200 y: 0
重複無限次
如果 按鍵 [上鍵] 被按下?
y 改變 10
如果 按鍵 [下鍵] 被按下?
y 改變 -10
如果 按鍵 [左鍵] 被按下?
x 改變 -10
如果 按鍵 [右鍵] 被按下?
x 改變 10
等待 0.1
💡 控制設計重點:
  • 初始位置:貓咪從左側起點開始
  • 鍵盤響應:使用「按鍵被按下」偵測鍵盤輸入
  • 移動距離:每次移動10點,確保控制精確
  • 等待時間:0.1秒的等待讓移動流暢
  • 四個方向:支援上下左右完整移動

💥 第五章:碰撞偵測系統

🎯 碰撞偵測的概念

什麼是碰撞偵測?

碰撞偵測是遊戲中判斷物件是否接觸的重要機制:

  • 接觸偵測:檢查兩個角色是否重疊
  • 條件判斷:根據碰撞結果執行不同動作
  • 遊戲邏輯:決定遊戲的勝負條件

🚗 車輛移動程式設計

綠車移動程式

綠車作為移動障礙物,持續左右移動:

綠旗 被點擊
定位到 x: 200 y: 50
重複無限次
移動 5
如果 碰到邊緣 就反彈
等待 0.1

紫車移動程式

紫車同樣作為移動障礙物:

綠旗 被點擊
定位到 x: 200 y: -50
重複無限次
移動 5
如果 碰到邊緣 就反彈
等待 0.1
💡 車輛設計重點:
  • 移動速度:5點移動速度適中,有挑戰性
  • 邊緣反彈:確保車輛在螢幕內持續移動
  • 不同位置:綠車在上方,紫車在下方
  • 等待時間:0.1秒讓移動流暢

💬 第六章:訊息顯示系統

🎯 碰撞偵測與訊息顯示

貓咪碰撞偵測程式

貓咪需要偵測是否碰到車輛(失敗)或終點線(過關):

綠旗 被點擊
重複無限次
如果 碰到 綠車 或 碰到 紫車
說出 失敗!重新開始 2
停止 全部
如果 碰到 終點線
說出 過關!恭喜你 2
停止 全部

🏁 終點線設計

終點線物件設定

  • 外觀:紅色垂直線條或旗子
  • 位置:道路的右側終點
  • 大小:足夠讓貓咪碰到
  • 功能:作為過關判定的目標

🎮 完整的貓咪程式整合

貓咪完整程式碼

將移動控制和碰撞偵測整合在一起的完整程式:

綠旗 被點擊
定位到 x: -200 y: 0
重複無限次
如果 按鍵 [上鍵] 被按下?
y 改變 10
如果 按鍵 [下鍵] 被按下?
y 改變 -10
如果 按鍵 [左鍵] 被按下?
x 改變 -10
如果 按鍵 [右鍵] 被按下?
x 改變 10
如果 碰到 綠車 或 碰到 紫車
說出 失敗!重新開始 2
停止 全部
如果 碰到 終點線
說出 過關!恭喜你 2
停止 全部
等待 0.1
⚠️ 程式設計重點:
  • 碰撞優先順序:先檢查車輛碰撞(失敗),再檢查終點線(過關)
  • 停止全部:遊戲結束時停止所有角色的程式
  • 訊息顯示:使用「說出」積木顯示遊戲結果
  • 等待時間:2秒讓玩家有時間看到訊息

🛠️ 第七章:實作練習

📋 製作步驟

步驟一:建立角色

  1. 新增貓咪角色(可以使用貓咪圖片或繪製簡單圖形)
  2. 新增綠車角色(綠色方塊或車輛圖片)
  3. 新增紫車角色(紫色方塊或車輛圖片)
  4. 新增終點線角色(紅色線條或旗子)
  5. 設定舞台背景(道路或草地背景)

步驟二:設定初始位置

  • 貓咪:左側起點位置(x: -200, y: 0)
  • 綠車:右側上方位置(x: 200, y: 50)
  • 紫車:右側下方位置(x: 200, y: -50)
  • 終點線:右側終點位置(x: 200, y: 0)

步驟三:編寫程式

按照前面章節的程式碼範例,為每個角色編寫對應的程式:

  • 貓咪:鍵盤控制和碰撞偵測
  • 綠車:左右移動(碰到邊緣反彈)
  • 紫車:左右移動(碰到邊緣反彈)
  • 終點線:靜態物件,作為碰撞目標
💡 除錯技巧:
  • 使用「說出」積木來檢查程式是否執行
  • 確認碰撞偵測條件正確設定
  • 檢查角色的初始位置是否正確
  • 測試鍵盤控制是否流暢
  • 確認車輛移動速度適中

📝 第八章:作業要求

基本要求(必須完成)

  • ✅ 建立貓咪角色並實現上下左右鍵控制
  • ✅ 建立綠車和紫車作為移動障礙
  • ✅ 設定終點線物件
  • ✅ 實現碰撞偵測機制
  • ✅ 碰到車輛顯示失敗訊息
  • ✅ 碰到終點線顯示過關訊息
  • ✅ 車輛能夠左右移動並碰到邊緣反彈

進階挑戰(加分項目)

  • 🎨 設計更精美的角色外觀
  • 🎵 添加音效(移動音效、碰撞音效)
  • ⏱️ 增加計時功能
  • 🏆 建立計分系統(過關次數)
  • 🔄 添加重新開始功能
  • 🚗 增加更多車輛障礙
  • 🎯 設計多個關卡
  • 💎 添加特殊道具(無敵、加速等)
⚠️ 繳交規範:
  • 檔案名稱:C03_貓咪過馬路_班級_姓名.sb3
  • 確保所有功能正常運作
  • 在角色上註明班級和姓名
  • 測試多次確保程式穩定
  • 鍵盤控制必須流暢
  • 碰撞偵測必須準確
🎉 完成檢查清單:
  • 貓咪能使用上下左右鍵正常移動
  • 綠車和紫車能正常左右移動
  • 車輛碰到邊緣會正確反彈
  • 貓咪碰到車輛會顯示「失敗!重新開始」
  • 貓咪碰到終點線會顯示「過關!恭喜你」
  • 遊戲結束時會停止所有程式
  • 程式沒有錯誤或卡住
  • 遊戲可以重複進行
💡 製作提示:
  • 可以先完成基本功能,再考慮進階挑戰
  • 測試時要確保碰撞偵測的準確性
  • 車輛移動速度要適中,不要太快或太慢
  • 鍵盤控制的響應要靈敏
  • 可以參考課堂上的程式碼範例