等級:12 - 出類拔萃 經驗值:0 / 116 魔法值:852 / 4032 生命值:6%
升級
  100%
TA的每日心情 | 衰 2015-11-12 09:48 |
---|
簽到天數: 72 天 [LV.6]常住居民II
|
發表於 2015-10-5 07:34:43
|
顯示全部樓層
& L( l, {6 D, C3 z
關於你的疑問,下面將進行詳細的解答:4 O! p, t& M( a+ T. n
(不想看解釋請直接看結論)3 g# Q7 k4 U7 i$ E, M+ @% s
4 `8 i5 P9 @0 Q8 _! \( x1 d7 m& q) E: \' I1 S) \' P
1.技術頁面顯示的船艦/防禦三圍問題2 K A% _, j7 S: V% w
首先要知道,在32位系統下integer的最大值是2,147,483,647
9 @+ `! Q7 F& D0 e& \1 P5 l( l若變量類型未進行聲明,PHP會根據變量的值自動轉換為正確的數據類型,8 d7 M( ^; l7 M- M C
因此可以看到,
3 F6 C F3 q8 L2 Q% Y太空基地"結構完整性(裝甲)"中未加成的數據雖然是超過了2,147,483,647
' M2 u9 O/ X1 E- D. ~7 x1 l但也能正確地顯示出7,000,000,000
, I; ^ R# P8 [7 @( |* R至於受加成的數據,
+ k. c/ F- m- f4 x% B' m. r由於受加成的三圍數據在計算時採用了(int)來進行強制整型轉換,) }% g3 l3 _7 A6 u- }3 L5 O' v
因此當數值超過2,147,483,647時,數值就會溢出,結果就不能正確地顯示了+ s2 J- E: Q/ }1 H: R3 W4 M
推測使用(int)的原因:在計算受加成的數據時會有可能出現小數的情況,為避免出現過長的小數而影響美觀,因此使用(int)來把數值強制轉換成整數,原設計者當時並未考慮到未來會有數值這麼大的船艦/防禦出現,所以使用(int)在當時是沒問題的~/ z( g3 E% t! v- o3 m5 n- E! A
結論:只是顯示問題~!!) ~8 x5 |6 E/ ]4 g- z
- D' R) y1 b$ K% R$ U
" u' |2 c; c9 v# k0 M2.戰鬥時的三圍數值與技術頁面顯示的數值不同問題: U2 N; ?& Q5 ?$ d
這裡要公開以下戰鬥三圍數值計算公式才能說明:2 z6 L" W. p A1 Y6 k0 M8 h1 A! u
攻擊值 = 基礎攻擊 * 總攻擊加成 * (0.80~1.20)! r4 H* G" ]( F& L' E6 t: R
防禦值(護盾) = 基礎防禦 * 總防禦加成
; _, O5 E/ Z" y, `1 i2 h 裝甲值 = (船艦/防禦金屬花費 + 船艦/防禦晶體花費) / 10 * 總裝甲加成
/ E+ B2 j6 }4 V- _: B6 B由上面公式可見,攻擊值的最終結果包含一個80%~120%的隨機上下浮動變化,
9 j8 G' b5 `2 W0 q/ U4 `5 [裝甲值則是"結構完整性(裝甲)"的十分之一,8 z0 x5 {5 x3 R" t( ]
以太空基地為例,
5 l& ]1 O' ~' ^' |需花費金屬5,000,000,000和晶體2,000,000,000,重氫花費不加入計算,9 X8 V+ g6 I' p S% r% i$ P3 C
技術頁面顯示的"結構完整性(裝甲)" = 5,000,000,000 + 2,000,000,000 = 7,000,000,0000 m' J/ o5 p# d% c: R3 z
戰鬥時真實裝甲值 = 7,000,000,000 /10 =700,000,000- h- h# W6 Y7 \" i: }2 h' z! h
結論:測試結果沒有任何問題,沒有逆向加成~!!1 C7 y7 y& h. F4 r
: T: w3 G% @' ~, A ^ |
|