C05b 打磚塊遊戲2(進階版)

Scratch進階遊戲開發 - 多關卡系統與特殊功能實作

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

🎯 本課程學習目標

  • 掌握進階打磚塊遊戲開發技巧
  • 學會設計多關卡遊戲系統
  • 實作特殊道具和效果系統
  • 優化遊戲性能和用戶體驗
  • 建立完整的遊戲架構

進階打磚塊遊戲特色

🎮 多關卡系統

設計多個不同難度的關卡,每關有獨特的磚塊排列和挑戰。

⚡ 特殊道具系統

包含火球、大擋板、多球、慢動作等豐富的道具效果。

💎 計分與生命系統

完整的遊戲進度記錄,包含分數、生命值、關卡進度等。

🎨 視覺效果強化

粒子效果、動畫轉場、音效配合等提升遊戲體驗。

📷 進階打磚塊遊戲完整介面截圖

建議尺寸:900x600像素

展示多關卡選單、道具系統、計分介面等完整功能

第二章:準備工作與遊戲企劃

遊戲架構規劃

📋 完整遊戲流程

  1. 開始畫面:標題、開始按鈕、設定選項
  2. 關卡選擇:顯示可用關卡和進度
  3. 遊戲進行:主要遊戲畫面
  4. 暫停功能:遊戲中途暫停
  5. 結果畫面:勝利/失敗結果顯示
  6. 分數統計:總分和最佳記錄

角色和背景設計

  • :主角色,具備多種狀態(普通、火球、慢動作)
  • 擋板:玩家控制,可變大變小
  • 磚塊:多種類型(普通、堅硬、特殊、道具磚塊)
  • 道具:各種增益效果的道具物件
  • 粒子效果:爆炸、閃光等視覺效果
  • UI元素:分數、生命、關卡資訊顯示
  • 📷 遊戲角色設計圖

    建議尺寸:800x400像素

    展示所有遊戲角色的設計和狀態變化

    變數系統設計

    /* 遊戲狀態變數 */ 遊戲狀態 = "選單" // 選單、遊戲中、暫停、結束 目前關卡 = 1 玩家分數 = 0 玩家生命 = 3 最高分數 = 0 /* 球的狀態變數 */ 球X速度 = 3 球Y速度 = 3 球狀態 = "普通" // 普通、火球、慢動作 球數量 = 1 /* 擋板狀態變數 */ 擋板大小 = 100 // 擋板寬度 擋板速度 = 8 /* 道具系統變數 */ 道具效果時間 = 0 道具類型 = "無"

    第三章:進階功能實作

    多球系統

    🎾 多球機制設計

    當玩家獲得多球道具時,創造多個球同時在場上運動,增加遊戲的刺激感。

    /* 多球系統實作 */ 當 獲得多球道具 重複 2建立球的分身球X速度 設為 隨機取數 -5 到 5球Y速度 設為 隨機取數 3 到 5 結束 當 作為分身啟動時 重複無限次 移動 球X速度 移動 球Y速度 如果 碰到邊緣 那麼 碰到邊緣就反彈 結束 執行 碰撞檢測 結束

    火球模式

    🔥 火球特殊能力

    火球可以穿透磚塊而不反彈,造成更大的破壞力。

    /* 火球模式實作 */ 當 獲得火球道具球狀態 設為 "火球"道具效果時間 設為 300 // 5秒效果 換成造型 "火球" 重複無限次 如果 球狀態 = "火球" 那麼 如果 碰到 "磚塊" 那麼 廣播 磚塊被擊中 並等待 // 火球不反彈,繼續穿透 結束 將 道具效果時間 改變 -1 如果 道具效果時間0 那麼 將 球狀態 設為 "普通" 換成造型 "普通球" 結束 結束 結束

    📷 火球效果演示

    建議尺寸:600x400像素

    展示火球穿透磚塊的特殊效果和視覺表現

    擋板大小變化

    📏 動態擋板系統

    擋板可以根據道具效果變大或變小,影響遊戲難度。

    /* 擋板大小控制 */ 當 獲得大擋板道具擋板大小 設為 150 將大小設為 150 % 將 道具效果時間 設為 600 // 10秒效果 當 獲得小擋板道具擋板大小 設為 50 將大小設為 50 % 將 道具效果時間 設為 300 // 5秒效果 重複無限次 如果 道具效果時間 > 0 那麼 將 道具效果時間 改變 -1 否則 將 擋板大小 設為 100 將大小設為 100 % 結束 結束

    慢動作效果

    ⏰ 時間控制系統

    讓球的移動變慢,給玩家更多反應時間。

    /* 慢動作效果實作 */ 當 獲得慢動作道具球狀態 設為 "慢動作"原始X速度 設為 球X速度原始Y速度 設為 球Y速度球X速度 設為 球X速度 / 3球Y速度 設為 球Y速度 / 3道具效果時間 設為 300 重複無限次 如果 球狀態 = "慢動作" 那麼 將 道具效果時間 改變 -1 如果 道具效果時間0 那麼 將 球狀態 設為 "普通"球X速度 設為 原始X速度球Y速度 設為 原始Y速度 結束 結束 結束

    第四章:多關卡系統設計

    關卡資料結構

    🗂️ 關卡資訊管理

    每個關卡包含磚塊排列、難度設定、目標分數等資訊。

    /* 關卡資料設計 */ 關卡1磚塊 = "111111111" // 9個普通磚塊一排 關卡1目標 = 900 // 目標分數 關卡1球速 = 3 // 球的初始速度 關卡2磚塊 = "121212121" // 混合普通和堅硬磚塊 關卡2目標 = 1500 關卡2球速 = 4 關卡3磚塊 = "123454321" // 包含特殊磚塊 關卡3目標 = 2500 關卡3球速 = 5 /* 磚塊類型說明 */ // 1: 普通磚塊 (100分) // 2: 堅硬磚塊 (200分,需要2次擊中) // 3: 特殊磚塊 (300分,掉落道具) // 4: 金磚塊 (500分,不可破壞) // 5: 爆炸磚塊 (400分,爆炸影響周圍)

    關卡生成系統

    /* 關卡生成程式 */ 定義 生成關卡 (關卡編號)磚塊資料 設為 項目 關卡編號 在清單 所有關卡磚塊目標分數 設為 項目 關卡編號 在清單 所有關卡目標球初始速度 設為 項目 關卡編號 在清單 所有關卡球速X位置 設為 -200Y位置 設為 100 重複 字串磚塊資料的長度 次 將 磚塊類型 設為 字串磚塊資料的第計數器個字元 如果 磚塊類型"0" 那麼 建立磚塊分身 定位到 x: X位置 y: Y位置 執行 設定磚塊類型 (磚塊類型) 結束 將 X位置 改變 50 如果 計數器 mod 9 = 0 那麼 將 X位置 設為 -200Y位置 改變 -40 結束 結束 結束

    📷 多關卡選擇畫面

    建議尺寸:800x500像素

    展示關卡選擇介面,顯示關卡預覽、難度星級、最佳成績等

    關卡進度系統

    📊 進度追蹤機制

    記錄玩家在每個關卡的最佳成績和完成狀態。

    /* 關卡進度管理 */ 當 關卡完成 如果 玩家分數 > 項目 目前關卡 在清單 關卡最佳分數 那麼 將項目 目前關卡 在清單 關卡最佳分數 替換成 玩家分數 廣播 新記錄 結束 將項目 目前關卡 在清單 關卡完成狀態 替換成 "已完成" 如果 目前關卡 < 清單 所有關卡 的長度 那麼 將項目 目前關卡 + 1 在清單 關卡解鎖狀態 替換成 "已解鎖" 結束 說出 關卡 目前關卡 完成! 持續 3 秒 結束

    難度漸進設計

  • 關卡1-3:基礎教學,簡單磚塊排列 初級
  • 關卡4-6:引入堅硬磚塊和道具 中級
  • 關卡7-9:複雜排列和多種磚塊 中級
  • 關卡10-12:高速球和特殊挑戰 高級
  • 關卡13-15:終極挑戰關卡 高級
  • 第五章:特殊效果與視覺強化

    粒子效果系統

    ✨ 爆炸粒子效果

    當磚塊被擊中時產生粒子爆炸效果,增加視覺衝擊力。

    /* 粒子效果實作 */ 當收到訊息 磚塊爆炸 重複 10建立粒子分身 定位到 x: 爆炸X y: 爆炸Y粒子X速度 設為 隨機取數 -8 到 8粒子Y速度 設為 隨機取數 -8 到 8 將顏色效果設為 隨機取數 0 到 200 結束 當 作為分身啟動時 將大小設為 隨機取數 50 到 150 % 重複 30移動 粒子X速度 移動 粒子Y速度 將透明效果改變 10粒子Y速度 改變 0.3 // 重力效果 結束 刪除此分身 結束

    螢幕震動效果

    📳 震動回饋系統

    在重要事件發生時(如生命減少、特殊磚塊擊中)產生震動效果。

    /* 螢幕震動效果 */ 定義 螢幕震動 (強度) 重複 10 次 將 原始X 設為 x座標原始Y 設為 y座標 移動到 x: 原始X + 隨機取數 -強度強度 y: 原始Y + 隨機取數 -強度強度 等待 0.05 秒 結束 移動到 x: 原始X y: 原始Y 結束 當收到訊息 生命減少 執行 螢幕震動 (15) 當收到訊息 爆炸磚塊擊中 執行 螢幕震動 (8)

    📷 特殊效果展示

    建議尺寸:700x400像素

    展示粒子爆炸、螢幕震動、光影效果等視覺強化

    音效系統設計

    🔊 完整音效配置

    為遊戲的各種事件配置合適的音效,提升沉浸感。

    /* 音效系統實作 */ 當收到訊息 球擊中擋板 播放音效 "彈跳音效" 當收到訊息 磚塊被擊中 播放音效 "破碎音效"分數 改變 100 當收到訊息 獲得道具 播放音效 "道具音效" 當收到訊息 生命減少 播放音效 "失敗音效" 當收到訊息 關卡完成 播放音效 "勝利音效" 當收到訊息 遊戲開始 播放音效 "背景音樂" 直到結束 結束

    動畫轉場效果

    /* 關卡轉場動畫 */ 定義 關卡轉場 說出 準備進入關卡 目前關卡 持續 2 秒 // 淡入效果 將透明效果設為 100 重複 20將透明效果改變 -5 等待 0.05 秒 結束 // 縮放效果 將大小設為 50 % 重複 10將大小改變 5 等待 0.03 秒 結束 結束

    第六章:遊戲優化與性能提升

    記憶體管理

    🧹 分身清理機制

    適時清理不需要的分身,避免遊戲變慢。

    /* 分身管理系統 */ 當收到訊息 清理分身 如果 角色名稱 = "粒子" 那麼 刪除此分身 結束 如果 角色名稱 = "道具"y座標 < -200 那麼 刪除此分身 結束 /* 定期清理機制 */ 重複無限次 等待 5 秒 廣播 清理分身 結束

    碰撞檢測優化

    ⚡ 高效碰撞系統

    優化碰撞檢測邏輯,提升遊戲流暢度。

    /* 優化的碰撞檢測 */ 定義 檢測磚塊碰撞 如果 碰到顏色 [紅色] 那麼 // 普通磚塊 執行 處理普通磚塊碰撞 回傳 結束 如果 碰到顏色 [藍色] 那麼 // 堅硬磚塊 執行 處理堅硬磚塊碰撞 回傳 結束 如果 碰到顏色 [綠色] 那麼 // 特殊磚塊 執行 處理特殊磚塊碰撞 回傳 結束 回傳 結束 // 在主迴圈中使用 重複無限次 移動 球X速度 如果 執行 檢測磚塊碰撞 = 那麼 將 球Y速度 設為 -球Y速度 結束 移動 球Y速度 結束

    資料儲存系統

    💾 遊戲進度儲存

    使用雲端變數儲存玩家的遊戲進度和最佳成績。

    /* 進度儲存系統 */ 定義 儲存遊戲進度☁ 玩家最高分 設為 最高分數☁ 最高關卡 設為 目前關卡☁ 總遊戲時間 設為 總遊戲時間 定義 載入遊戲進度最高分數 設為 ☁ 玩家最高分解鎖關卡 設為 ☁ 最高關卡總遊戲時間 設為 ☁ 總遊戲時間綠旗被點擊 執行 載入遊戲進度 當收到訊息 遊戲結束 執行 儲存遊戲進度
    性能優化建議
    • 限制同時存在的分身數量(建議不超過50個)
    • 使用顏色碰撞而非角色碰撞以提升效率
    • 定期清理不需要的變數和清單
    • 避免在重複迴圈中進行複雜計算

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

    📝 基礎作業

  • 完成基本的多關卡打磚塊遊戲(至少5關)
  • 實作至少3種不同的道具效果
  • 加入計分和生命系統
  • 設計關卡選擇畫面
  • 加入基本的音效和視覺效果
  • 評分標準:
    • 遊戲完整性(30分)
    • 功能實作(25分)
    • 視覺設計(20分)
    • 創意表現(15分)
    • 程式架構(10分)

    🌟 進階挑戰

  • 設計10個以上的關卡,包含不同的磚塊排列模式
  • 實作完整的道具系統(至少6種道具)
  • 加入Boss關卡(特殊的巨型磚塊)
  • 設計粒子效果和螢幕震動
  • 實作遊戲進度儲存功能
  • 加入排行榜系統
  • 加分項目:
    • 創新的遊戲機制設計
    • 優秀的視覺和音效設計
    • 完整的遊戲平衡調整
    • 良好的程式碼結構和註解

    🏆 創意競賽

    主題:設計一個具有獨特創意的打磚塊變化遊戲

    💡 創意方向建議

    • 重力打磚塊:磚塊會受重力影響掉落
    • 旋轉世界:整個遊戲場景會旋轉
    • 磚塊反擊:某些磚塊會發射子彈
    • 合作模式:兩個玩家同時控制不同的擋板
    • 時間倒流:可以倒轉時間重新來過
    提交要求:
    • 遊戲作品連結
    • 創意說明文件(包含設計理念和特色功能)
    • 遊戲操作說明
    • 製作過程心得分享

    學習檢核清單

  • 能夠設計完整的多關卡遊戲系統
  • 熟練使用變數管理複雜的遊戲狀態
  • 掌握分身系統的進階應用
  • 能夠實作各種特殊效果和道具系統
  • 理解遊戲優化的重要性和方法
  • 具備完整遊戲開發的思維和能力
  • 📷 作業範例展示

    建議尺寸:800x500像素

    展示優秀作業的遊戲畫面、功能特色、創意設計等