@@ -88,17 +88,17 @@ <h1 class="text-2xl sm:text-3xl font-bold text-center text-gray-800 mb-6">欧洛
8888 >
8989 </ div >
9090
91- <!-- 法强增伤的数值 (Y) -->
91+ <!-- 其他法强增伤的数值 (Y) -->
9292 < div >
9393 < label for ="spellDamageY " class ="block text-sm sm:text-base font-medium text-gray-700 mb-2 ">
94- 法强增伤的数值
94+ 其他法强增伤的数值
9595 </ label >
9696 < input
9797 type ="number "
9898 id ="spellDamageY "
9999 value ="0 "
100100 class ="mt-1 block w-full px-3 py-2 sm:px-4 sm:py-2 border border-gray-300 rounded-lg shadow-sm focus:ring-blue-500 focus:border-blue-500 text-base sm:text-lg text-gray-900 bg-gray-50 transition duration-150 ease-in-out "
101- placeholder ="输入法强增伤数值 "
101+ placeholder ="输入其他法强增伤数值 "
102102 >
103103 </ div >
104104 </ div >
@@ -130,6 +130,16 @@ <h1 class="text-2xl sm:text-3xl font-bold text-center text-gray-800 mb-6">欧洛
130130 let X_total = 0 ; // 初始化卡牌基本伤害总和
131131 let cardCount = 0 ; // 初始化卡牌数量
132132
133+ // 获取欧洛尼乌斯数量 N 和其他法强增伤 Y_other
134+ const N = parseFloat ( oloronusCountNInput . value ) || 0 ;
135+ const Y_other = parseFloat ( spellDamageYInput . value ) || 0 ;
136+
137+ // 确保 N 为非负整数,因为 2 的 N 次方通常 N 是非负整数
138+ const safeN = Math . max ( 0 , Math . floor ( N ) ) ;
139+
140+ // 计算总法强增伤 (欧洛尼乌斯自带法强 + 其他法强)
141+ const totalSpellDamage = safeN + Y_other ;
142+
133143 // 根据选择的输入方式获取 X 的值和卡牌数量
134144 if ( inputMethodDirect . checked ) {
135145 // 如果选择直接输入总伤害
@@ -145,16 +155,9 @@ <h1 class="text-2xl sm:text-3xl font-bold text-center text-gray-800 mb-6">欧洛
145155 cardCount = multipleValues . length ; // 获取卡牌数量
146156 }
147157
148- // 获取欧洛尼乌斯数量 N 和法强增伤 Y
149- const N = parseFloat ( oloronusCountNInput . value ) || 0 ;
150- const Y = parseFloat ( spellDamageYInput . value ) || 0 ;
151-
152- // 确保 N 为非负整数,因为 2 的 N 次方通常 N 是非负整数
153- const safeN = Math . max ( 0 , Math . floor ( N ) ) ;
154-
155- // 计算伤害:伤害 = X_total + (cardCount × 2^N × Y)
156- // 这里将 2^N * Y 的部分乘以卡牌数量,再与基本伤害总和相加
157- const damage = X_total + ( cardCount * Math . pow ( 2 , safeN ) * Y ) ;
158+ // 计算伤害:伤害 = X_total + (cardCount × 2^N × totalSpellDamage)
159+ // 这里将 2^N * totalSpellDamage 的部分乘以卡牌数量,再与基本伤害总和相加
160+ const damage = X_total + ( cardCount * Math . pow ( 2 , safeN ) * totalSpellDamage ) ;
158161
159162 // 更新结果显示,保留整数
160163 finalDamageDisplay . textContent = Math . floor ( damage ) ;
@@ -198,4 +201,4 @@ <h1 class="text-2xl sm:text-3xl font-bold text-center text-gray-800 mb-6">欧洛
198201 } ;
199202 </ script >
200203</ body >
201- </ html >
204+ </ html >
0 commit comments