[閒聊] 有關大聖隊長技減傷公式

看板ToS (神魔之塔(Tower of Saviors))作者 (??)時間12年前 (2014/06/05 22:06), 12年前編輯推噓49(50143)
留言94則, 42人參與, 最新討論串1/1
前言: 我玩磨隊破關卡時 幾乎都使用大聖居多 而大聖的缺點在於同時間遭受多次攻擊時 減傷能力會下降超快 所以我寫了個小程式來計算當遇到連擊怪或同CD小怪時 大聖撐不撐得住 類似這樣: http://i.imgur.com/ZRkB3DZ.jpg
(完全用公式 考慮小數的版本) -- 若是這程式是完全精準符合實際狀況的話 進一步可以回推 當關卡有連擊怪或同CD小怪時 隊伍的檢定血量 可惜不管怎麼修正 都無法完全精準 總是會差幾滴血 無論是小數四捨五入 小數直接捨去後再代公式 而對於大聖磨隊而言 差了1滴血都有可能被怪揍死 直到我遇到一個情況後 我就放棄修正程式了 這情況會在文中說明 -- OK 正文開始 在前天晚上 高傲女巫的化身 的鍵盤文章裡面的推文 #1JZTZf0G

06/03 22:20,
提醒 大聖公式是約略值不是精準
06/03 22:20

06/03 22:20,
我忘記是大於還是小於 建議血再多一點比較好
06/03 22:20

06/03 22:21,
大聖公式是精準.....
06/03 22:21

06/03 22:22,
不是精準 我測過orz
06/03 22:22

06/03 22:22,
只有小數點去掉而已...
06/03 22:22

06/03 22:22,
我之前2個XX之路算到連個位數都對… 不知道哪不精準了
06/03 22:22

06/03 22:24,
那可能是我沒有每次把小數點忽略 我跑程式都不是精準
06/03 22:24

06/03 22:32,
大聖精準阿 是你沒算準吧
06/03 22:32

06/03 22:44,
#1J0vDM5b 可以看這篇 內文也說公式不是百分百準確
06/03 22:44

06/03 22:45,
所以我才說別算這麼精準 多10~20滴血也好
06/03 22:45

06/03 22:49,
看excel公式就知道他沒取整數… 公式是精準的 zz
06/03 22:49
深怕我再講下去 會被檢舉造謠啊orz -- 我自己說不精準 自己負責~ 公式 [(HP/MaxHP)^3]*60% 為了不讓有小數問題產生 選擇 攻擊力 100 海洋小靈魂石 攻擊力 300 海洋靈魂石 隊伍血量 10000 實測影片: https://everyplay.com/videos/5989555 -- 影片中 7~8秒處 我滿血 10000 代公式超好算就是減傷 60% 攻擊力 100 減傷 60% 就是 40 可是 海洋小靈魂石 打我 39 減傷 61% 影片中 37~38秒處 我也滿血 攻擊力 300 減傷 60% 就是 120 可是 海洋靈魂石 打我 119 減傷 60.3% -- 一個減傷61% 一個減傷60.3% 瓦解了公式最大值的60% 這就是前言中我遇到的情況 所以 大聖實際減傷>公式 但是差距很小 這就是我為什麼說 大聖公式是約略值 不是精準 http://ppt.cc/Qr5p 這位大大也是估出公式的 http://ppt.cc/mD5k wiki額外資訊也是寫約略 -- 整篇會特別強調精準 是為了想利用程式精準算出大聖檢定血量 可惜有影片那種狀況 所以還是只能用程式代公式慢慢估算 剛剛是說 大聖實際減傷>公式 所以代公式估出來的血量必定大於大聖檢定血量 會是安全值 本篇哪裡有錯的地方 也請告知我 知道當受到連擊或同CD小怪攻擊 怎樣取整數代公式 算到個位數都精準的 也請告知我 我每次估算跟實際都會差 1~5 滴血 神魔之塔目前最衰可以到10連擊 (五隻連擊小怪同CD) 歡迎跟我討論 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.36.108.82 ※ 文章網址: http://www.ptt.cc/bbs/ToS/M.1401977202.A.E65.html

06/05 22:08, , 1F
先推再說,管他看不看的懂
06/05 22:08, 1F

06/05 22:08, , 2F
大聖實際減商>公式 這段是懶人包?
06/05 22:08, 2F

06/05 22:09, , 3F
原來是這樣阿
06/05 22:09, 3F

06/05 22:10, , 4F
快推 不然別人以為我們看不懂
06/05 22:10, 4F

06/05 22:10, , 5F
大聖愛好者給推~~每次算血都很困擾XD
06/05 22:10, 5F

06/05 22:10, , 6F
推,我之前也有想過扔excel出來,可是怎麼算都會差一些
06/05 22:10, 6F

06/05 22:11, , 7F
你知道神魔珠子可以斜轉嗎?
06/05 22:11, 7F
我知道 可是測試影片 我只要轉到心珠 不用認真轉吧orz ※ 編輯: channing3107 (114.36.108.82), 06/05/2014 22:12:55

06/05 22:12, , 8F
推這篇
06/05 22:12, 8F

06/05 22:14, , 9F
數學之塔給推
06/05 22:14, 9F

06/05 22:16, , 10F
認真推
06/05 22:16, 10F

06/05 22:19, , 11F
Code之塔?
06/05 22:19, 11F

06/05 22:20, , 12F
先推再說
06/05 22:20, 12F

06/05 22:21, , 13F
版友angelio的減傷試算表有放到精華區嗎
06/05 22:21, 13F

06/05 22:21, , 14F
專業推
06/05 22:21, 14F

06/05 22:22, , 15F
推推
06/05 22:22, 15F

06/05 22:22, , 16F
大大用啥語言啊,雖然好像都沒差XD
06/05 22:22, 16F
C 語言 ※ 編輯: channing3107 (114.36.108.82), 06/05/2014 22:23:17

06/05 22:24, , 17F
他那篇文章很實用 建議收錄
06/05 22:24, 17F

06/05 22:24, , 18F
有簡易可用程式下載嗎?
06/05 22:24, 18F
可以去載 版友angelio的減傷試算表 #1J0vDM5b ※ 編輯: channing3107 (114.36.108.82), 06/05/2014 22:26:52

06/05 22:26, , 19F
我推的那個是用Excel
06/05 22:26, 19F

06/05 22:27, , 20F
有實測給推
06/05 22:27, 20F

06/05 22:28, , 21F
推測試
06/05 22:28, 21F

06/05 22:28, , 22F
推數學之塔
06/05 22:28, 22F

06/05 22:29, , 23F
angelio的試算表越戰越強公式是舊的吧@@?
06/05 22:29, 23F

06/05 22:30, , 24F
推~
06/05 22:30, 24F
還有 34 則推文
還有 1 段內文
06/05 23:18, , 59F
我覺得問題在於CurrentHP跟MaxHP並非整數
06/05 23:18, 59F

06/05 23:19, , 60F
因為原PO實測滿血時超過60%減傷
06/05 23:19, 60F

06/05 23:19, , 61F
卡片的三圍只要不是1等跟滿等 就是用公式跑的 所以中間
06/05 23:19, 61F
挖 我的柳鬼是7等 剩下都1等 滿等 謝謝E大提供 ※ 編輯: channing3107 (114.36.108.82), 06/05/2014 23:22:02

06/05 23:20, , 62F
這個我有想過,但是不管是不是整數,滿血時應該都是100%
06/05 23:20, 62F

06/05 23:20, , 63F
除非他MaxHP取整數,CurrentHP不是= =
06/05 23:20, 63F

06/05 23:20, , 64F
會有很多小數 我猜測是這兩個值造成的誤差 你可以嘗試用
06/05 23:20, 64F

06/05 23:21, , 65F
滿等卡來測試看看還會不會有這狀況
06/05 23:21, 65F

06/05 23:22, , 66F
有認真有推 大聖威武推推推!
06/05 23:22, 66F

06/05 23:23, , 67F
不過的確有這個可能,我的磨隊成員不是1等就是滿等
06/05 23:23, 67F

06/05 23:23, , 68F
我的猜測就是w大所說 我覺得是戰鬥初始化時其中一個有取
06/05 23:23, 68F

06/05 23:23, , 69F
所以我用起來誤以為大聖是精準DER 0.0?
06/05 23:23, 69F

06/05 23:24, , 70F
Floor 一者忘了取XD
06/05 23:24, 70F

06/05 23:25, , 71F
但是這樣也蠻奇怪的,如果CurrentHP沒取整數,難保不會有
06/05 23:25, 71F

06/05 23:25, , 72F
10001/10000 這種血量出現,畢竟六張卡小數點加起來破1
06/05 23:25, 72F

06/05 23:25, , 73F
好像不是太難@@
06/05 23:25, 73F

06/05 23:26, , 74F
其實 我知道給推就對了 內文啥太專業了
06/05 23:26, 74F

06/05 23:27, , 75F
CurrentHP跟MaxHP是卡片加總的HP喔
06/05 23:27, 75F

06/05 23:29, , 76F
痾,我想錯了,請忽略上面三行推文XD
06/05 23:29, 76F

06/05 23:29, , 77F
那這樣的確有可能是忘了取= =
06/05 23:29, 77F
OK 我沒1等沒滿等的也只有一張 所以只有一張卡有小數點 ※ 編輯: channing3107 (114.36.108.82), 06/05/2014 23:31:41

06/06 00:03, , 78F
可以偷渡拆解請求嗎?想知道火巫和昇華IV異界龍的連動關係
06/06 00:03, 78F

06/06 00:15, , 79F
謝謝大大
06/06 00:15, 79F

06/06 00:47, , 80F
推! 實用
06/06 00:47, 80F

06/06 02:54, , 81F
公式如果是透過反編譯取得無誤, 那個另一個要考慮的就是
06/06 02:54, 81F

06/06 02:55, , 82F
電腦浮點數的儲存與計算誤差, 舉一個簡單的例子:
06/06 02:55, 82F

06/06 02:56, , 83F
VC裡 拿 (1.0f - 0.6f) 與 (0.4f)相比, 結果是不相等:)
06/06 02:56, 83F

06/06 03:06, , 84F
同樣VC(2005), (int)(100*(1.0f - 0.6f)) => 39
06/06 03:06, 84F

06/06 03:06, , 85F
(int)(300*(1.0f - 0.6f)) => 119, 和原po實驗吻合@_@"
06/06 03:06, 85F
我從沒想過這樣的浮點誤差 剛剛帶進程式真的是39跟119 感謝提供

06/06 05:04, , 86F
推推 夠專業
06/06 05:04, 86F
※ 編輯: channing3107 (114.36.108.82), 06/06/2014 07:14:57

06/06 10:49, , 87F
太強大了,2位沒拿到瘋頭聘書嗎?
06/06 10:49, 87F

06/06 15:45, , 88F
恭喜你錄取了
06/06 15:45, 88F

06/06 22:00, , 89F
V大講的我之前想過 但是我看所有運算都是float 轉成int
06/06 22:00, 89F

06/06 22:02, , 90F
是顯示在螢幕上才轉的 當時我用CurrentHP-damage後轉int
06/06 22:02, 90F

06/06 22:03, , 91F
仍然是正確的值 經原PO測試正確後我才去翻damage之後的
06/06 22:03, 91F

06/06 22:03, , 92F
使用 看到(float) ((int) alterValue) 就是這裡造成誤差
06/06 22:03, 92F

06/06 22:05, , 93F
以上的alterValue就是先前的damage 程式碼用傳址呼叫
06/06 22:05, 93F

06/08 11:11, , 94F
推e大研究精神....:)
06/08 11:11, 94F
文章代碼(AID): #1Ja7bovb (ToS)
文章代碼(AID): #1Ja7bovb (ToS)