🐱 C03 貓咪過馬路-選擇結構

學習條件判斷,製作經典遊戲!

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

🎯 學習目標

  • 理解「選擇結構」的概念和應用
  • 學會使用條件判斷積木(如果...那麼...)
  • 製作經典的「貓咪過馬路」遊戲
  • 掌握碰撞檢測和遊戲邏輯
  • 培養邏輯思維和問題解決能力

🎮 什麼是「貓咪過馬路」遊戲?

這是一個經典的街機遊戲概念,玩家控制角色(貓咪)穿越繁忙的道路,避開移動的汽車。遊戲需要:

  • 角色控制(上下左右移動)
  • 障礙物(移動的汽車)
  • 碰撞檢測(如果碰到車子就失敗)
  • 勝利條件(安全到達對面)

📷 遊戲示意圖

建議尺寸:800x450像素

內容:完成的貓咪過馬路遊戲畫面

🛠️ 第二章:準備工作與環境設置

💻 開始新專案

  1. 開啟 Scratch 3.0 編輯器
  2. 刪除預設的貓咪角色(我們稍後會重新加入)
  3. 設定專案名稱為「貓咪過馬路」
  4. 準備所需的角色和背景

🎨 設計遊戲場景

背景設計要點

我們需要創建一個道路場景:

  • 上方:安全區域(目標)
  • 中間:道路(危險區域)
  • 下方:起始區域
  • 道路線條:幫助視覺引導

📷 背景設計圖

建議尺寸:480x360像素

內容:道路背景設計,包含起始區、道路區、目標區

👾 準備遊戲角色

需要的角色:

  • 貓咪:玩家控制的角色
  • 汽車:移動的障礙物(可以有多種顏色)
  • 勝利旗幟:到達目標的標示

📷 角色設計圖

建議尺寸:600x200像素

內容:貓咪、汽車、旗幟等角色的外觀

🧠 第三章:選擇結構基礎概念

💡 什麼是選擇結構?

選擇結構的定義

選擇結構是程式設計中的基本控制結構,讓程式能夠根據不同的條件做出不同的決定和動作。

基本形式:如果(條件)那麼(動作A)否則(動作B)

控制 如果 感測 碰到顏色 那麼 外觀 說 "撞到了!" 持續 2 秒 動作 移到 x: 0 y: -150

🔍 條件判斷的類型

1. 碰撞檢測

感測 碰到 汽車 ? 感測 碰到顏色 紅色 ? 感測 碰到邊緣 ?

2. 位置判斷

運算 x座標 > 200 運算 y座標 < -100

3. 鍵盤輸入

感測 按下 上方向鍵 鍵? 感測 按下 空白鍵 鍵?

🏃‍♂️ 練習活動:簡單的條件判斷

目標:讓貓咪根據按鍵移動

  1. 加入貓咪角色
  2. 使用「如果...那麼」積木
  3. 檢測方向鍵是否被按下
  4. 對應移動貓咪位置
🎮 第四章:貓咪過馬路遊戲開發

🐱 步驟一:設置貓咪角色

基本移動控制

事件 當 🏁 被點擊 動作 移到 x: 0 y: -150 控制 重複無限次 控制 如果 感測 按下 上方向鍵 鍵? 那麼 動作 y座標增加 10 控制 如果 感測 按下 下方向鍵 鍵? 那麼 動作 y座標增加 -10 控制 如果 感測 按下 左方向鍵 鍵? 那麼 動作 x座標增加 -10 控制 如果 感測 按下 右方向鍵 鍵? 那麼 動作 x座標增加 10

📷 貓咪移動控制圖

建議尺寸:700x400像素

內容:展示貓咪在場景中的移動方向

🚗 步驟二:創建移動汽車

汽車的基本移動

事件 當 🏁 被點擊 動作 移到 x: -240 y: 0 控制 重複無限次 動作 x座標增加 3 控制 如果 運算 x座標 > 250 那麼 動作 移到 x: -240 y: 0
⚠️ 重要提醒:汽車的移動速度不要太快,否則遊戲會太困難!建議速度在 2-5 之間。

💥 步驟三:碰撞檢測

在貓咪的程式中加入碰撞檢測

控制 如果 感測 碰到 汽車 ? 那麼 外觀 說 "哎呀!被撞到了!" 持續 2 秒 動作 移到 x: 0 y: -150 控制 等待 1 秒

🎯 碰撞檢測的重要性

碰撞檢測是遊戲中的核心機制,它決定了:

  • 遊戲的挑戰性
  • 玩家的即時反饋
  • 遊戲規則的執行

🏆 步驟四:勝利條件

檢測貓咪是否到達安全區域

控制 如果 運算 y座標 > 120 那麼 外觀 說 "太棒了!成功過馬路!" 持續 3 秒 音效 播放音效 勝利 控制 停止 全部

📷 勝利畫面圖

建議尺寸:600x300像素

內容:貓咪成功到達對面的慶祝畫面

🎯 實作練習:完整的遊戲邏輯

結合以上所有步驟,創建一個完整的貓咪過馬路遊戲:

  1. 設置遊戲背景
  2. 加入貓咪和汽車角色
  3. 實現移動控制
  4. 加入碰撞檢測
  5. 設置勝利條件
  6. 測試遊戲平衡性
🚀 第五章:進階功能與優化

🎵 加入音效和視覺效果

碰撞音效

控制 如果 感測 碰到 汽車 ? 那麼 音效 播放音效 碰撞 外觀 特效 鬼魂 設為 100 控制 等待 0.5 秒 外觀 清除圖像特效

移動音效

控制 如果 感測 按下 上方向鍵 鍵? 那麼 動作 y座標增加 10 音效 播放音效 腳步聲

📊 加入計分系統

創建變數

變數 建立變數 分數 變數 建立變數 生命

初始化遊戲

事件 當 🏁 被點擊 變數 變數 分數 設為 0 變數 變數 生命 設為 3

更新分數

控制 如果 運算 y座標 > 120 那麼 變數 變數 分數 增加 10 動作 移到 x: 0 y: -150

🚗 多輛汽車和不同車道

設計多車道系統

為了增加遊戲的挑戰性,我們可以:

  • 創建多個汽車角色
  • 設置不同的移動速度
  • 讓汽車在不同高度移動
  • 有些汽車向左移動,有些向右移動

汽車2(向左移動)

事件 當 🏁 被點擊 動作 移到 x: 240 y: 50 控制 重複無限次 動作 x座標增加 -4 控制 如果 運算 x座標 < -250 那麼 動作 移到 x: 240 y: 50

📷 多車道系統圖

建議尺寸:800x500像素

內容:展示多輛汽車在不同車道移動的場景

⏰ 難度漸增系統

根據時間增加難度

變數 建立變數 遊戲時間 變數 建立變數 汽車速度 事件 當 🏁 被點擊 變數 變數 遊戲時間 設為 0 變數 變數 汽車速度 設為 2 控制 重複無限次 控制 等待 10 秒 變數 變數 遊戲時間 增加 10 變數 變數 汽車速度 增加 0.5
📝 第六章:作業與挑戰練習

📋 基礎作業

作業1:完成基本遊戲

要求:

  • 實現貓咪的四方向移動
  • 至少有一輛會移動的汽車
  • 正確的碰撞檢測
  • 勝利條件判斷

評分標準:功能完整性(60%)+ 程式邏輯清晰度(40%)

作業2:美化遊戲外觀

要求:

  • 設計有趣的背景
  • 美化角色外觀
  • 加入適當的音效
  • 添加視覺特效

🏆 進階挑戰

挑戰1:多車道系統

創建至少3輛汽車,在不同車道、不同方向移動

挑戰2:生命系統

實現3條生命的系統,被撞3次才結束遊戲

挑戰3:關卡設計

設計多個關卡,每關有不同的難度和車輛配置

挑戰4:創意變化

發揮創意,可以改成:

  • 小雞過河(避開鱷魚)
  • 太空船避開隕石
  • 忍者躲避飛鏢

📤 作業提交方式

📋 提交清單

  1. Scratch專案檔案:儲存為「學號_姓名_貓咪過馬路.sb3」
  2. 遊戲截圖:包含遊戲開始、進行中、結束畫面
  3. 程式說明文件:說明主要程式邏輯和創意點
  4. 心得報告:學習過程中的困難和收穫
⏰ 提交期限:課程結束後一週內
📧 提交方式:上傳至課程平台或Email給老師

🎯 學習檢核表

完成以下項目請打勾 ✓