File size: 10,763 Bytes
08dedc7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
// 攻擊描述資料庫 - 完整版本
const attackDescriptions = {
    // 國文攻擊描述
    chinese: {
        thresholds: [0.15, 0.08], // 強力攻擊閾值:15%以上,中等攻擊:8%以上
        strong: [
            "📚 文字的力量如詩如畫!古典文學爆發驚人威力,詩詞歌賦化作利劍直刺雞排怪心臟!",
            "✍️ 修辭技巧形成強大攻擊!比喻擬人如雷電交加,文學底蘊震撼全場!",
            "🎭 國學底蘊展現深厚功力!四書五經的智慧凝聚成無堅不摧的文字風暴!",
            "📖 千年文化傳承爆發!從詩經到現代文學,文字的魅力摧枯拉朽!",
            "🖋️ 筆墨紙硯化作神兵利器!書法的韻律與文學的美感完美融合!"
        ],
        medium: [
            "📝 語文能力發揮穩定效果!閱讀理解與寫作技巧並重,文字攻擊命中目標!",
            "📄 作文技巧形成有效攻擊!起承轉合的結構展現文學素養!",
            "✏️ 語言表達展現實力!詞彙運用恰到好處,語法結構清晰有力!",
            "📚 文學知識穩定輸出!從古典到現代,文學史的脈絡清晰可見!",
            "🎨 文字藝術展現美感!修辭手法運用得當,語言文字生動有趣!"
        ],
        weak: [
            "📄 文學攻擊略顯不足...字詞運用需要加強,多閱讀經典作品吧!",
            "🤷 語文基礎有待提升...句型結構稍顯混亂,需要多練習寫作!",
            "😐 國文攻擊力有限...古文理解需要努力,建議多背誦經典篇章!",
            "📝 文字表達能力待加強...詞彙量需要擴充,多讀書多寫作!",
            "🤔 語言運用不夠靈活...修辭技巧需要練習,文學素養有待提升!"
        ]
    },
    
    // 英文攻擊描述
    english: {
        thresholds: [0.12, 0.06],
        strong: [
            "🌟 English power strikes like lightning! Grammar mastery unleashed with devastating force!",
            "🚀 Vocabulary explosion creates massive damage! Ten thousand words become weapons of mass instruction!",
            "⭐ Perfect pronunciation forms devastating attack! Fluency dominates the battlefield with eloquence!",
            "💫 Advanced grammar structures demolish the enemy! Complex sentences weave a web of linguistic destruction!",
            "🎯 Idioms and phrases rain down like arrows! Native-level expression overwhelms all opposition!"
        ],
        medium: [
            "📘 英語能力發揮穩定效果!單字記憶與文法概念並重,語言攻擊命中目標!",
            "🗣️ 聽說讀寫技能均衡發展!英語溝通能力展現實力!",
            "📚 英文基礎紮實穩固!文法概念清晰,單字運用得當!",
            "🎧 語言技能穩定輸出!聽力理解與口語表達相得益彰!",
            "📖 閱讀理解能力良好!英文文章的脈絡掌握得宜!"
        ],
        weak: [
            "📝 英文攻擊力道不足...單字量需要擴充,多背誦常用詞彙!",
            "🤔 語法概念有些混亂...時態變化需要練習,建議多做文法練習!",
            "😅 英語表達略顯生澀...口語能力待加強,多聽多說很重要!",
            "📚 英文基礎需要鞏固...從基本文法開始,循序漸進學習!",
            "🙄 語言運用不夠流暢...需要多接觸英語環境,培養語感!"
        ]
    },
    
    // 數學攻擊描述
    math: {
        thresholds: [0.18, 0.10],
        strong: [
            "🔥 數學公式如雷電般劈向雞排怪!微積分的威力無人能擋,極限與導數交織成毀滅之網!",
            "⚡ 幾何定理爆發出驚人能量!三角函數與解析幾何完美結合,數學之美震撼全場!",
            "💥 代數方程式形成強大攻擊波!複數與矩陣的力量超越想像!",
            "🌌 數學邏輯展現絕對真理!從基礎運算到高等數學,理性思維無堅不摧!",
            "🧮 數字的奧秘完全展現!統計機率與數學分析融為一體,精確計算摧毀一切!"
        ],
        medium: [
            "📊 數學運算穩定發揮!代數與幾何並重,邏輯思維清晰有序!",
            "📐 計算能力展現實力!基礎運算與進階概念相輔相成!",
            "🔢 數學概念理解良好!從算術到代數,數學基礎紮實穩固!",
            "📈 數學思維邏輯清晰!問題解決能力與計算技巧並重!",
            "🎯 數學應用能力不錯!理論與實際相結合,數學素養展現!"
        ],
        weak: [
            "📝 數字攻擊略有成效...基礎運算需要加強,多練習計算題!",
            "🤔 數學概念有些模糊...公式記憶需要複習,理解比背誦更重要!",
            "😅 數學攻擊力道不足...邏輯思維需要訓練,多做推理題目!",
            "📚 數學基礎待鞏固...從基本概念開始,循序漸進學習!",
            "🙄 計算能力需要提升...細心與耐心同樣重要,避免粗心錯誤!"
        ]
    },
    
    // 自然科學攻擊描述
    science: {
        thresholds: [0.12, 0.06],
        strong: [
            "🔬 科學知識爆發驚人威力!實驗精神與理論基礎完美結合,科學真理震撼全場!",
            "⚗️ 化學反應形成強大攻擊!元素週期表的奧秘與分子結構的美妙交織成毀滅之力!",
            "🌌 物理定律展現深奧力量!從牛頓力學到量子物理,宇宙法則無所不能!",
            "🧬 生物科學展現生命奧秘!DNA的雙螺旋結構與進化論的智慧融為一體!",
            "🌍 地球科學揭示自然威力!板塊運動與氣候變化的力量超越想像!"
        ],
        medium: [
            "🧪 自然科學穩定發揮!觀察實驗與理論學習並重,科學素養展現!",
            "🔍 科學方法運用得當!假設驗證與數據分析相輔相成!",
            "📊 實驗技能展現實力!從觀察到結論,科學思維邏輯清晰!",
            "🌿 自然現象理解良好!生物多樣性與生態平衡概念清楚!",
            "⚛️ 科學概念掌握不錯!物理化學基礎知識紮實穩固!"
        ],
        weak: [
            "🤓 科學攻擊需要加強...實驗技巧有待提升,多動手做實驗!",
            "😵 理論概念稍顯模糊...科學原理需要複習,理解比記憶重要!",
            "🙄 自然科學力道不足...觀察能力待加強,培養科學好奇心!",
            "📚 科學基礎需要鞏固...從基本概念開始,建立完整知識體系!",
            "🤔 科學思維待培養...邏輯推理與批判思考同樣重要!"
        ]
    },
    
    // 社會科學攻擊描述
    social: {
        thresholds: [0.10, 0.05],
        strong: [
            "🏛️ 社會科學知識重擊敵人!歷史智慧與地理知識完美融合,人文素養威力無窮!",
            "🗺️ 地理知識爆發強大能量!從地形氣候到人文地理,空間概念震撼全場!",
            "⚖️ 公民意識形成正義攻擊!民主法治與人權觀念凝聚成不可撼動的力量!",
            "📜 歷史智慧穿越時空!從古代文明到現代社會,歷史脈絡清晰可見!",
            "🌍 全球視野展現格局!國際關係與文化交流的深度理解超越想像!"
        ],
        medium: [
            "📚 社會科學穩定發揮!歷史地理與公民知識並重,人文素養展現!",
            "🏛️ 人文關懷展現實力!社會議題與公民責任意識清晰!",
            "🌍 地理概念掌握良好!空間分布與區域特色理解得當!",
            "📜 歷史脈絡理解不錯!時代背景與因果關係掌握得宜!",
            "⚖️ 公民素養展現水準!民主參與與法治觀念具備!"
        ],
        weak: [
            "📚 社會科攻擊力有限...歷史脈絡需要梳理,多讀史書增廣見聞!",
            "🤷 地理概念稍顯模糊...空間認知待加強,多看地圖培養方向感!",
            "😐 人文素養有待提升...社會議題需要關注,培養公民意識!",
            "📖 社會科學基礎待鞏固...從基本概念開始,建立完整知識架構!",
            "🤔 批判思考能力需要培養...多元觀點與獨立思考同樣重要!"
        ]
    }
};

// 隨機獲取攻擊描述的函數
function getRandomAttackDescription(subject, attackPower, totalHP) {
    // 將科目名稱對應到描述資料庫的鍵值
    const subjectMap = {
        '國文': 'chinese',
        '英文': 'english', 
        '數學': 'math',
        '自科': 'science',
        '社會': 'social'
    };
    
    const mappedSubject = subjectMap[subject];
    if (!mappedSubject || !attackDescriptions[mappedSubject]) {
        return null;
    }
    
    const subjectData = attackDescriptions[mappedSubject];
    const ratio = attackPower / totalHP;
    
    let descriptions;
    if (ratio >= subjectData.thresholds[0]) {
        descriptions = subjectData.strong;
    } else if (ratio >= subjectData.thresholds[1]) {
        descriptions = subjectData.medium;
    } else {
        descriptions = subjectData.weak;
    }
    
    // 隨機選擇一個描述
    const randomIndex = Math.floor(Math.random() * descriptions.length);
    return descriptions[randomIndex];
}

// 獲取攻擊強度等級的函數
function getAttackLevel(subject, attackPower, totalHP) {
    const subjectMap = {
        '國文': 'chinese',
        '英文': 'english',
        '數學': 'math', 
        '自科': 'science',
        '社會': 'social'
    };
    
    const mappedSubject = subjectMap[subject];
    if (!mappedSubject || !attackDescriptions[mappedSubject]) {
        return 'weak';
    }
    
    const subjectData = attackDescriptions[mappedSubject];
    const ratio = attackPower / totalHP;
    
    if (ratio >= subjectData.thresholds[0]) {
        return 'strong';
    } else if (ratio >= subjectData.thresholds[1]) {
        return 'medium';
    } else {
        return 'weak';
    }
}

// 獲取所有科目的攻擊閾值資訊
function getAttackThresholds() {
    const thresholds = {};
    for (const [subject, data] of Object.entries(attackDescriptions)) {
        thresholds[subject] = {
            strong: data.thresholds[0],
            medium: data.thresholds[1]
        };
    }
    return thresholds;
}