第一章:課程介紹與學習目標
🎯 本課程學習目標
- 掌握進階打磚塊遊戲開發技巧
- 學會設計多關卡遊戲系統
- 實作特殊道具和效果系統
- 優化遊戲性能和用戶體驗
- 建立完整的遊戲架構
進階打磚塊遊戲特色
🎮 多關卡系統
設計多個不同難度的關卡,每關有獨特的磚塊排列和挑戰。
⚡ 特殊道具系統
包含火球、大擋板、多球、慢動作等豐富的道具效果。
💎 計分與生命系統
完整的遊戲進度記錄,包含分數、生命值、關卡進度等。
🎨 視覺效果強化
粒子效果、動畫轉場、音效配合等提升遊戲體驗。
📷 進階打磚塊遊戲完整介面截圖
建議尺寸:900x600像素
展示多關卡選單、道具系統、計分介面等完整功能
第二章:準備工作與遊戲企劃
遊戲架構規劃
📋 完整遊戲流程
- 開始畫面:標題、開始按鈕、設定選項
- 關卡選擇:顯示可用關卡和進度
- 遊戲進行:主要遊戲畫面
- 暫停功能:遊戲中途暫停
- 結果畫面:勝利/失敗結果顯示
- 分數統計:總分和最佳記錄
角色和背景設計
球:主角色,具備多種狀態(普通、火球、慢動作)
擋板:玩家控制,可變大變小
磚塊:多種類型(普通、堅硬、特殊、道具磚塊)
道具:各種增益效果的道具物件
粒子效果:爆炸、閃光等視覺效果
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位置 設為 -200
將 Y位置 設為 100
重複 字串磚塊資料的長度 次
將 磚塊類型 設為 字串磚塊資料的第計數器個字元
如果 磚塊類型 ≠ "0" 那麼
建立磚塊分身
定位到 x: X位置 y: Y位置
執行 設定磚塊類型 (磚塊類型)
結束
將 X位置 改變 50
如果 計數器 mod 9 = 0 那麼
將 X位置 設為 -200
將 Y位置 改變 -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像素
展示優秀作業的遊戲畫面、功能特色、創意設計等