Lashtw commited on
Commit
07762af
·
verified ·
1 Parent(s): 392f67b

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +140 -130
README.md CHANGED
@@ -1,130 +1,140 @@
1
- # Math City: Cyber Chronicles (數學特區:未來都市)
2
-
3
- ## 1. 專案願景 (Project Vision)
4
- 本專案為八年級下學期數學課程的遊戲化教學平台。透過「未來都市」的沉浸式包裝,讓學生以「特務/維護者」的身分,在解決城市危機的過程中學習數學概念。
5
-
6
- **核心體驗**:
7
- * **平台**:iPad 橫向全螢幕體驗 (Mobile Web App)。
8
- * **風格**:Cyberpunk / Neon Noir (賽博龐克/霓虹暗黑)。
9
- * **技術**:HTML5 Canvas + Tailwind CSS + Vanilla JS (無須建置工具)。
10
-
11
- ## 2. 檔案結構 (File Structure)
12
- ```
13
- /
14
- ├── index.html # [入口] 城全息地圖 (Math City Map)
15
- ├── sequence.html # [數列] 數列峽谷 (The Glitch Canyon)
16
- ├── function.html # [函數] 能源核心 (The Energy Core)
17
- ├── congruence.html # [等] 全等重案組 (Congruence District) - {待開發}
18
- ├── parallel.html # [平行] 平行建構區 (Parallel Skyline) - {待開發}
19
- └── assets/ # (建) 存放圖片與音效資源
20
- ```
21
-
22
- ## 3. 視覺設計系統 (Design System)
23
-
24
- ### 色彩計畫 (Neon Palette)
25
- 這座城市由四個區域組成,每個區域有其代表的主色調:
26
- * **🟦 能源核心 (Cyan)**: `#06b6d4` (Cyan-500) - 代表科技、冷靜、函數邏輯。
27
- * **🟨 數列峽谷 (Amber)**: `#f59e0b` (Amber-500) - 代表古老遺跡、警示、規律。
28
- * **🟪 全等重案組 (Magenta)**: `#d946ef` (Fuchsia-500) - 代表神秘、霓虹街頭、偵探氛圍。
29
- * **🟩 平行建構區 (Green)**: `#22c55e` (Green-500) - 代表建設、雷射光束、結構。
30
- * **🌑 背景基調**: `#050510` (Very Dark Blue) - 極致黑,襯托霓虹光。
31
-
32
- ### UI 規範
33
- * **字體**: 'Orbitron' (數字/英文標題), 'Noto Sans TC' (中文內文)。
34
- * **介面**: 玻璃擬態 (Glassmorphism),半透明深色背景 + 亮色邊框。
35
- * **互動**: 針對觸控優化的大按鈕避免依賴 Hover 效果。
36
-
37
- ## 4. 遊戲模組詳解 (Game Modules)
38
-
39
- ### A. 數列峽谷 (The Glitch Canyon) - `sequence.html` [已完成/需微調]
40
- * **數學單元**:等差數列與級數
41
- * **劇情**:城市邊緣的古老程式碼層出現 Glitch,階梯消失。
42
- * **玩法**:動作跳躍遊戲。
43
- * **Phase 1 (觀念檢測)**:進入關卡前,先通過列填空測驗,確認對首項與公差的理解
44
- * **Phase 2 (數列跑酷)**:動作遊戲階段
45
- * **視覺風格**:全區統一碎石 (Gravel) 紋理數位荒野主題
46
- * **規則**:僅有數列的「前兩項」會有琥珀色外框提示,後續特定平台外觀一致,玩家需自行計算並跳上正確數字平台。
47
- * **裝飾**:仙人掌與骨骸等裝飾物僅生成於無數字的安全平台上,不干擾作答。
48
- * **Phase 3 (召喚儀式)**:終點的互動教學。利用「倒轉複製」概念,將階梯補成長方形,引導學生推導出等差級數求和公式 $S_n = \frac{(a_1+a_n) \times n}{2}$。
49
- * **Phase 4 (核心回顧)**:(Gold Standard) 遊戲結束後顯示重點摘要,包含「等差數列定義」、「公差公式」、「級數和公式」,對應學習單內容。
50
-
51
- ### B. 能源核心 (The Energy Core) - `function.html` [已完成]
52
- * **數學單元**:線型函數 ($y = ax + b$)
53
- * **劇情**:中央發電廠核心不穩,需要輸確的晶石量以維持能量平衡
54
- * **玩法**:數據分析與邏輯推導
55
- * **Phase 1 (蒐集數據)**:輸入 $x$ (晶),觀察 $y$ (電力),利用描點法找出函關係
56
- * **Phase 2 (律分析)**:觀察圖表上點,辨識出直線規律,並利用規律預測未來
57
- * **Phase 3 (過載危機)**:系統給出目標電力 $y=203$玩家需根據 $y=2x+3$ 反求投入量 $x$
58
- * **Phase 4 (進階推導)**:(Advanced Deduction) 核心重置,公式改變 ($y=ax+b$)。
59
- * **Step 1 (找截距 b)**:投入 $x=0$,觀察 $y$ 值解出 $b$
60
- * **Step 2 (找斜率 a)**:投入 $x=1$,觀察變化量,解出 $a$。
61
- * **Step 3 (驗算)**:利用新公式 $y=3x+5$ 驗算 $x=10$ 的結果。
62
- * **Phase 5 (核心解鎖)**:輸入正確的 $a$ $b$ 值,完成任務
63
-
64
- ### C. 全等重案組 (Congruence District) - `congruence.html` [規劃中]
65
- * **數學單元**:全等三角形判別 (SAS, ASA, SSS, RHS)。
66
- * **劇情**:追捕偽裝大師三角魔人」。
67
- * **玩法**:偵探解謎
68
- * **Phase 1 (蒐證)**:在案發現場使用放大鏡蒐集「邊長」與「角度」線索
69
- * **Phase 2 (指認)**:在警局指認牆上利用蒐集的條件篩選嫌疑犯
70
- * **Phase 3 (審判/回顧)**:整理案情,總結全等性質(SAS, ASA...)釋為何 SSA (搖擺分身) 無法全等
71
-
72
- ### D. 平行建構區 (Parallel Skyline) - `parallel.html` [規劃中]
73
- * **數學單元**:平行線截角性質、特殊四邊形。
74
- * **劇情**:建設通往雲端的摩天大樓。
75
- * **玩法**:建築工程
76
- * **平行光束**:調整雷射發射器角度,利用內錯相等或「同側內角互補」原理接通橋樑
77
- * **四邊形物流**:輸送帶上出現各種四邊形建材,需根據對角線性質 (是否等長/垂直/平分) 快速分類
78
- * **Phase 3 (完工驗收)**:展示建築藍圖,總結平行線截角性質與特殊四形的判別家族樹
79
-
80
- ## 5. 開發路徑 (Roadmap)
81
- - [x] **Phase 1: 基礎建設**
82
- - [x] `index.html` 城市地圖。
83
- - [x] 生成 iPad 專用背景圖
84
- - [x] 統一導航系統 (Back to Map 按鈕)
85
- - [ ] **Phase 2: 現有程式優化**
86
- - [ ] `function.html`: 增加音效回饋、優化引導流程、修正手機版面
87
- - [ ] `sequence.html`: 統一視覺風格調整難度曲線。
88
- - [ ] **Phase 3: 新關卡開發**
89
- - [ ] 開發 `congruence.html` (全等重案組) 原型。
90
- - [ ] 開發 `parallel.html` (平行建構區) 原型。
91
-
92
- ---
93
-
94
- ## 6. 修正經驗與開發筆記 (Dev Log)
95
- 此區塊記錄開發過中的重要迭代與修正經驗,供日後參考。
96
-
97
- ### [Sequence Canyon] 視覺與機制修正 (Visual & Mechanics Polish)
98
- * **視覺一致性的陷阱 (Visual Consistency)**
99
- * 在設計「尋找規律」類型的遊戲時,**所有平台的視覺材質必須嚴格統一**(例如部使用碎石 Gravel)
100
- * 若正確與錯誤的台有顏色差異,玩家會傾向使用「顏色判斷」而非「數學計算」,導致教學目標失效
101
- * **提示機制 (Scaffolding)**:
102
- * **限制提示範圍**:為了兼顧新手引導與挑戰性,提示(如光暈、外框)應僅限於首幾項(前兩項),後續必須完全移除提示。
103
- * **嚴格判定**:程式邏輯需確保 `p.hint` 是唯一決定外觀差異的參數,避免其他狀態(如 `target` 類型預設值)意外洩漏答案。
104
- * **裝飾物碰撞 (Decorations & Collision)**:
105
- * **空白平台 Bug**:直接在遊戲主路徑生成「無功能裝飾平台」容易讓玩家混淆(跳上去沒反應)
106
- * **解決方案**:採用「區塊化 (Chunking)」策略,將起點與終點的長型安全區切割成多個小區塊,將裝飾物僅生成於這些絕對安全的區域,確保遊戲核心路徑的純粹性。
107
- * **音效與視覺同步 (Audio-Visual Sync)**:
108
- * 過關音效(如 Victory Fanfare)應在視覺高潮(如煙火發射)的**第一瞬間**觸發。
109
- * 避免動畫結束 callback 才播放音效,會造成乾乾的等待感
110
-
111
- ### [Function Core] 介面優化與教學引導 (UI/UX & Pedagogy Refinement)
112
- * **介面佈局 (Layout & Alignment)**:
113
- * **分割視窗 (Split-Screen)**: Desktop 模式下應將操作區(左)與圖表區(右)明確分開,避免彈出式視窗遮擋數據
114
- * **視覺對齊 (Pixel-Perfect Alignment)**:上下排列的元件(如「核心法則Banner」與「指令對話框」)寬度必須一致(例如都設為 `w-[480px]`),視覺安定感會大幅提升。
115
- * **教學引導與錯誤回饋 (Pedagogy & Feedback)**:
116
- * **不只是報錯**:當學生回答錯誤時,不能只顯示 Error必須提供**具體且有數學邏輯引導**。(例如:錯誤提示不只寫 "Wrong"而是顯示 "$203 = 2x + 3 \rightarrow 200 = 2x$"引導下一步思考)
117
- * **即時回饋 (Instant Gratification)**:當學生發現數學規律(如「是一條直線」)時,圖表應**立刻**畫出對應的直線,讓數學發現與視覺獎勵同步。
118
- * **視覺層級 (Visual Hierarchy)**
119
- * **關鍵變數特大化**:數學應用題中的關鍵變數 ($x, y$) 字體應設定為極大 (e.g., `text-6xl`) 並嚴格遵守色碼($x$=琥珀, $y$=青)降低閱讀一段長文字認知負荷
120
- * **去除干擾**:輸入框周圍不應有重複的標籤文字(如重複的「投入晶石」),會造成視覺混亂。
121
- * **開發注意事項 (Dev Ops)**:
122
- * **檔案覆寫確認**:進行大幅度重構時,若 `replace_file_content` 失敗頻率高,應果斷使用 `write_to_file` 進行全檔覆寫 (`Overwrite=true`),確保版本一致性。
123
-
124
- ---
125
- ---
126
- ## 7. 專案製作群 (Credits)
127
- * **遊戲設計**: 新竹縣精華國中 藍星宇老師
128
- * **社群**: [萬物皆數](https://www.facebook.com/groups/1554372228718393)
129
-
130
- *Created by Antigravity for 11402 Semester Project*
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: MathCity
3
+ emoji: 🌖
4
+ colorFrom: gray
5
+ colorTo: pink
6
+ sdk: static
7
+ pinned: false
8
+ ---
9
+
10
+
11
+ # Math City: Cyber Chronicles (數學特區:未來都市)
12
+
13
+ ## 1. 專案願景 (Project Vision)
14
+ 本專案為八年級下學期數學課程的遊戲化教學平台。透過「未來都」的沉浸式包裝,讓學生以「特務/維護者」的身分,在解決城���危機的過程中學習數學概念。
15
+
16
+ **核心體驗**:
17
+ * **平台**:iPad 橫向螢幕體驗 (Mobile Web App)。
18
+ * **風格**:Cyberpunk / Neon Noir (賽博龐克/霓虹暗黑)
19
+ * **技術**:HTML5 Canvas + Tailwind CSS + Vanilla JS (無須置工具)
20
+
21
+ ## 2. 檔案結構 (File Structure)
22
+ ```
23
+ /
24
+ ├── index.html # [入口] 城市全息地圖 (Math City Map)
25
+ ├── sequence.html # [數列] 數列峽谷 (The Glitch Canyon)
26
+ ├── function.html # [函數] 能源核心 (The Energy Core)
27
+ ├── congruence.html # [全等] 全等重案組 (Congruence District) - {待開發}
28
+ ├── parallel.html # [平行] 平行建構區 (Parallel Skyline) - {待開發}
29
+ └── assets/ # (建議) 存放圖片與音效資源
30
+ ```
31
+
32
+ ## 3. 視覺設計系統 (Design System)
33
+
34
+ ### 色彩計畫 (Neon Palette)
35
+ 這座城市由四個區域組成每個區域有其代表的主色調:
36
+ * **🟦 能源核心 (Cyan)**: `#06b6d4` (Cyan-500) - 代表科技、冷靜、函數邏輯。
37
+ * **🟨 數列峽谷 (Amber)**: `#f59e0b` (Amber-500) - 代表古老遺跡、警示、規律。
38
+ * **🟪 全等重案組 (Magenta)**: `#d946ef` (Fuchsia-500) - 代表神秘、霓虹街頭、偵探氛圍。
39
+ * **🟩 平行建構區 (Green)**: `#22c55e` (Green-500) - 代表建設、雷射光束、結構。
40
+ * **🌑 背景基調**: `#050510` (Very Dark Blue) - 極致黑,襯托霓虹光
41
+
42
+ ### UI 規範
43
+ * **字體**: 'Orbitron' (數字/英文標題), 'Noto Sans TC' (中文內文)
44
+ * **介面**: 玻璃擬態 (Glassmorphism),半透明深色背景 + 亮色邊框
45
+ * **互動**: 針對觸控優化的大按鈕避免依賴 Hover 效果
46
+
47
+ ## 4. 遊戲模組詳解 (Game Modules)
48
+
49
+ ### A. 數列峽谷 (The Glitch Canyon) - `sequence.html` [已完成/需微調]
50
+ * **數學單元**:等差數列與級數。
51
+ * **劇情**:城市邊緣的古老程式碼層出現 Glitch,階梯消失。
52
+ * **玩法**:動作跳躍遊戲
53
+ * **Phase 1 (觀念檢測)**:關卡前,先通過數列填空測驗,認對首項與公差理解
54
+ * **Phase 2 (數列跑酷)**:動作遊戲階段
55
+ * **視覺風格**:全區統一碎石 (Gravel) 紋理,數位荒野主題
56
+ * **規**:僅有數列的「前兩項會有琥珀色外框提示後續特定平台外觀一致,玩家需自行計算跳上正確數字平台
57
+ * **裝飾**:仙人掌與骨骸等裝飾物僅生成於無數字的安全平台上不干擾作答
58
+ * **Phase 3 (召喚儀式)**:終點的互動教學。利用「倒轉複製」概念將階梯補成長方形,引導學生推導出等差級數求和公式 $S_n = \frac{(a_1+a_n) \times n}{2}$
59
+ * **Phase 4 (核心回顧)**:(Gold Standard) 遊戲結束後顯示重點摘要包含「等差數列定義」、「公差公式」、「級數和公式」,對應學習單內容
60
+
61
+ ### B. 能源核心 (The Energy Core) - `function.html` [已完成]
62
+ * **數學單元**:線型函數 ($y = ax + b$)
63
+ * **劇情**:中央發電廠核心不穩,需要輸入正確的晶石量以維持能量平衡。
64
+ * **玩法**:數據分析與邏輯推導。
65
+ * **Phase 1 (蒐集據)**:輸入 $x$ (晶石),觀察 $y$ (電力),利用描點法找出函數關係
66
+ * **Phase 2 (規律分析)**:觀察圖表上的點,辨識出直線規律,並利用規律預測未來
67
+ * **Phase 3 (過載危機)**:系統給出目標電力 $y=203$,玩家需根據 $y=2x+3$ 反求投入量 $x$
68
+ * **Phase 4 (進階推導)**:(Advanced Deduction) 核心重置,公式改變 ($y=ax+b$)
69
+ * **Step 1 (找截距 b)**:投入 $x=0$觀察 $y$ 值,解出 $b$
70
+ * **Step 2 (找斜率 a)**:投入 $x=1$觀察變化量, $a$
71
+ * **Step 3 (驗算)**:利用新公式 $y=3x+5$ 驗算 $x=10$ 的結果。
72
+ * **Phase 5 (核心解鎖)**:輸入正確的 $a$ $b$ 值,完成任務。
73
+
74
+ ### C. 全等重案組 (Congruence District) - `congruence.html` [規劃中]
75
+ * **數學單元**:全等三角形判別 (SAS, ASA, SSS, RHS)
76
+ * **劇情**:追捕偽裝大師魔人」。
77
+ * **玩法**:偵探解謎
78
+ * **Phase 1 (蒐證)**:在案發現場使用放大鏡蒐集「長」與「角度」線索
79
+ * **Phase 2 (指認)**:在警局指認牆上,利用蒐集的條件篩選嫌疑犯。
80
+ * **Phase 3 (審判/回顧)**:整理案情,總結全等性質(SAS, ASA...),並解釋為何 SSA (搖擺分身) 無法全等。
81
+
82
+ ### D. 平行構區 (Parallel Skyline) - `parallel.html` [規劃中]
83
+ * **數學單元**:平行線截角性質、特殊四邊形
84
+ * **劇情**:建設通往雲端的摩天大樓
85
+ * **玩法**:建築工程。
86
+ * **平行光束**:調整雷射發射器角度,利用「內錯角相等」或「同側內角互補」原理接通橋樑
87
+ * **四邊形物流**:輸送帶上出現各種四邊形建材需根據對角性質 (是否等長/垂直/平分) 快速分類
88
+ * **Phase 3 (完工驗收)**:展示建築藍圖,總結平行線截角性質與特殊四邊形的判別家族樹。
89
+
90
+ ## 5. 開發路徑 (Roadmap)
91
+ - [x] **Phase 1: 基礎建設**
92
+ - [x] 建立 `index.html` 城市地圖。
93
+ - [x] 生成 iPad 專用背景圖。
94
+ - [x] 統一導航系統 (Back to Map 按鈕)
95
+ - [ ] **Phase 2: 現有式優化**
96
+ - [ ] `function.html`: 增加音效回饋、優化引導流程、修正手機版面。
97
+ - [ ] `sequence.html`: 統一視覺風格,調整難度曲線。
98
+ - [ ] **Phase 3: 新關卡開發**
99
+ - [ ] 開發 `congruence.html` (等重案組) 原型
100
+ - [ ] 開發 `parallel.html` (行建構區) 原型
101
+
102
+ ---
103
+
104
+ ## 6. 修正經驗開發筆記 (Dev Log)
105
+ 此區塊記錄開發過程中的重要迭代與修正經驗,供日後參考
106
+
107
+ ### [Sequence Canyon] 視覺與機制修正 (Visual & Mechanics Polish)
108
+ * **視覺一致性陷阱 (Visual Consistency)**
109
+ * 在設計尋找規律類型的遊戲時,**所有平台的視覺材質必須嚴格統一**(例如全部使用碎石 Gravel)
110
+ * 若正確與錯誤的平台有顏色差異,玩家會傾向使用「顏色判斷」而非「數學計算」,導致教學目標失效。
111
+ * **提示機制 (Scaffolding)**:
112
+ * **限制提示範圍**:為了兼顧新手引導與挑戰性,提示(如光暈、外框)應僅限於首幾項(前兩項),後續必須完全移除提示。
113
+ * **嚴格判定**:程式邏輯需確保 `p.hint` 是唯一決定外觀差異的參數,避免其他狀態(如 `target` 類型預設值)意外洩漏答案
114
+ * **裝飾物與碰撞 (Decorations & Collision)**:
115
+ * **空白平台 Bug**:直接在遊戲主路徑生成「無功能裝飾平台」容易讓玩家混淆(跳上去沒反應)。
116
+ * **解決方案**:採用「區塊化 (Chunking)」策略將起點與終點長型安全區切割成多個小區塊將裝飾物僅生成於這些絕對安全的區域確保遊戲核心路徑的純粹性
117
+ * **音效與視覺同步 (Audio-Visual Sync)**:
118
+ * 過關音效(如 Victory Fanfare)應在視覺高潮(如煙火發射)的**第一瞬間**觸發。
119
+ * 避免在動畫結束 callback 才播放音效會造成「乾乾」等待感
120
+
121
+ ### [Function Core] 介面優化與教學引導 (UI/UX & Pedagogy Refinement)
122
+ * **介面佈局 (Layout & Alignment)**:
123
+ * **分割視窗 (Split-Screen)**:在 Desktop 模式下,應將操作區(左)與圖表區(右)明確分開,避免彈出式視窗遮擋數據。
124
+ * **視覺對齊 (Pixel-Perfect Alignment)**:上下排列的元件(如「核心法則Banner」與「指令對話框」)寬度必須一致(例如都設為 `w-[480px]`),視覺安定感會大幅提升。
125
+ * **教學引導與錯誤回饋 (Pedagogy & Feedback)**:
126
+ * **不只是報錯**:當學生回答錯誤時,不能只顯示 Error,必須提供**具體且有數學邏輯的引導**。(例如:錯誤提示不只寫 "Wrong",而是顯示 "$203 = 2x + 3 \rightarrow 200 = 2x$",引導下一步思考)。
127
+ * **即時回饋 (Instant Gratification)**:當學生發現數學規律(如「是一條直線」)時,圖表應**立刻**畫出對應的直線,讓數學發現與視覺獎勵同步。
128
+ * **視覺層級 (Visual Hierarchy)**:
129
+ * **關鍵變數特大化**:數學應用題中的關鍵變數 ($x, y$) 字體應設定為極大 (e.g., `text-6xl`) 並嚴格遵守色碼($x$=琥珀, $y$=青),降低閱讀一段長文字的認知負荷。
130
+ * **去除干擾**:輸入框周圍不應有重複的標籤文字(如重複的「投入晶石」),會造成視覺混亂。
131
+ * **開發注意事項 (Dev Ops)**:
132
+ * **檔案覆寫確認**:進行大幅度重構時,若 `replace_file_content` 失敗頻率高,應果斷使用 `write_to_file` 進行全檔覆寫 (`Overwrite=true`),確保版本一致性。
133
+
134
+ ---
135
+ ---
136
+ ## 7. 專案製作群 (Credits)
137
+ * **遊戲設計**: 新竹縣精華國中 藍星宇老師
138
+ * **社群**: [萬物皆數](https://www.facebook.com/groups/1554372228718393)
139
+
140
+ *Created by Antigravity for 11402 Semester Project*