作者oldgump1201 (nimama)
看板Dynasty
標題Re: [問題] Why「最大值+1」而不是「最大值」就好?
時間Mon Feb 10 11:03:55 2014
為什麼他都是「最大值+1」而不是「最大值」就好呢?
1F:推 playerlin:浮動值設定是 min..max-1 程式上理論的max發生率非常低 02/09 22:17
2F:→ playerlin:低到正常幾乎不會出現。 所以最大值+1 patch就是直接讓 02/09 22:18
3F:→ playerlin:那個Max值出來... 02/09 22:18
4F:→ playerlin:而最大值才是實際正常情況上的最大值~ 02/09 22:19
補充一下
比較以前程式的浮動值(or隨機值)寫法大抵都是由Random處理
炎龍系列的升級數值應該也是以Random為取得基礎
那甚麼是Random?簡單說就是電腦會給你一個0~1的值,不含0
可能是0.5656565656565656...下略
也可能是0.7878787878787878...下略
好,那Random如何創造出炎龍的升級數值呢?
舉個例子吧
比如說英雄索爾升級了而他升1級的給予力量區間是10~15(舉例啦,我沒研究)
10,11,12,13,14,15共6個數值隨機產生的方式
程式邏輯會寫成
10~15
↓
10+(0~
5)
↓
10+[(0~1)*
6取整數]
↓
10+(Random*
6取整數)
因為Random再給予0~1的亂數時出現1.000000000的機率幾近不可能
*6之後取整數也達不到6這個數字
所以10~15的隨機區間就這樣達成了
回到原PO疑問
為什麼炎龍最大值升級檔都是最大值+1
應該修改者是把Random直接替代改為整數1
所以索爾10~15的區間就變成16了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.69.56.14
5F:→ eglaibls:喔...原來如此...不過我看青衫是有提供 僅最大值的修改法 02/10 15:02
6F:推 hhtj: 02/10 19:32
7F:推 playerlin:差一點其實就差40...如果不是說非常care這差距的話是還 02/12 19:14
8F:→ playerlin:好。當初所有升級最大值數值都是+1的修改是後來才有純粹 02/12 19:15
9F:→ playerlin:最大值的改法... 02/12 19:15
10F:推 kirimaru73:這個+1在敏捷的影響會非常非常大 其它普通 02/18 12:56
11F:推 mingly:雷特王子的EV值用MAX+1,最後會超過255而歸零重算 08/04 02:43