|
等級:12 - 出類拔萃 經驗值:0 / 116 魔法值:852 / 4373 生命值:6%
升級
  100%
TA的每日心情 | 衰 2015-11-12 09:48 |
|---|
簽到天數: 72 天 [LV.6]常住居民II
|
發表於 2015-9-21 08:41:41
|顯示全部樓層
其實這段代碼並沒有實際指出一個具體的數字,
# r7 p# b- I1 J& S6 q1 Y7 f! g% zceil($CONF['min_player_planets'] + min($planetPerTech, $USER[$resource[124]] * $CONF['planets_per_tech']) + min($planetPerBonus, $USER['factor']['Planets']));
& M) s2 H* B" N6 r! H0 \這段代碼計算出來的結果就是最大殖民數量,
3 X+ C" O0 ]" M) L% }# I: dceil()是向上取整,即如果結果有小數就進位,例如ceil(3.6)結果是4,
- r% _+ p( u" L4 U a1 S. Omin()是取最小值,例如min(4,8)結果是4,
' o% s0 @, T* F; F( X, V9 g& V
" U( X+ m# f8 E* [5 k8 ^2 d
+ N; b; B, K* O8 I( C! c* S' R再具體一點,因為09行~17行這些if語句,可以看到結果會有兩個情況:1 K' j, J; y5 Z7 _, {
(1) 如果$CONF['min_player_planets']為0,$ p z7 r$ [3 {3 h# A6 `
那麼$planetPerTech和$planetPerBonus就被賦值成999,假設探險等級被升級至無限大,那麽$USER[$resource[124]] * $CONF['planets_per_tech']就會大於999,min($planetPerTech, $USER[$resource[124]] * $CONF['planets_per_tech'])的結果就是999
0 L+ M3 o$ h; U1 H/ N: |這$USER['factor']['Planets']單憑上面這些代碼並不知道代表什麼,但可以推斷是事務官對殖民星數量的影響值,假設也可以是無限大,那麼同理,min($planetPerBonus, $USER['factor']['Planets'])結果也是999
* E: j7 R# s' I9 D所以傳回值是ceil(0+999+999),即1998% U1 I! g; D, ]$ t9 S+ p i0 F& ~
(2)如果$CONF['min_player_planets']不為0,
, q9 a& Q) ~) t) H那麼當探險等級和$USER['factor']['Planets']同為無限大時,兩個min()函數的取值分別為$planetPerTech和$planetPerBonus,根據06~07行的賦值可知這兩個變量為$CONF['planets_tech']和$CONF['planets_officier']2 D: C0 ?3 N, i, V- s: j
所以傳回值是ceil($CONF['min_player_planets']+$CONF['planets_tech']+$CONF['planets_officier']),5 P, U9 i0 D3 s2 j' c2 d$ Z
8 i, J; h- g. S6 N
- L( L; M4 q [結合遊戲分析,沒升探險和沒有事務官時,也是可以殖民的,即$CONF['min_player_planets']不會是0,事務官好像也只有襲擊專家能+2殖民數量,! n+ h! G0 c2 E) H
那麼只會是(2)的情況,當探險升到無限高級,有襲擊專家時,最大殖民數量是ceil($CONF['min_player_planets']+$CONF['planets_tech']+min($CONF['planets_officier'], 2)),; X+ b6 D9 B( \( G5 ?0 |/ q
/ V# K- n2 ]/ r& P" h4 g
i2 ^& T: K% F# D2 o$ t* ?3 J綜合推斷,$USER是用戶類,用來存放玩家資料,$CONF是設定類,用來存放參數設定,後台可以利用$CONF['planets_tech']和$CONF['planets_officier']來設定探險技術和事務官的殖民最大值,利用$CONF['min_player_planets']來設定初始能殖民的最大值,) U- H1 B, j$ H. P9 H
假如後台設定如下:% x9 J/ @2 Q! Y0 \
$CONF['min_player_planets']設為20
2 Z5 s. g& _% P8 |$CONF['planets_tech']設為602 k0 M! E8 y5 W7 i7 b. D2 U% ~' _- J: M
$CONF['planets_officier']設為2
" v9 w! L: J: j6 ~那麼理論殖民最大值就是82% U+ b" r1 a# s+ P' [
|
|