[無用] 攻擊傷害數字失準的原因

作者: dadadiiii (大D)   2014-11-01 21:34:56
前言...
因為一開始聽說傷害破10億時會出問題
所以才玩了一下艾得
結果發現顯示出來的傷害少了一位 ( 請參閱 文章代碼 #1KLAQVPy )
但是實際拿來計算時又覺得怪怪的
就一個數學背景出身的我 很不能接受這個奇怪的地方
所以才會追究這點
艾得的頭上的數字是 725852736
http://imgur.com/6jbmvuF
打在光地精身上是 108877913
http://imgur.com/ZLuzUIX
讓我們來計算一下 剋屬是1.5倍
725852736 * 1.5 = 1088779104
地精的防=14
1088779104 - 14 = 1088779090
就算最後一位沒有顯示 那也會是108877909
沒道理變成108877913
後來在巴哈看到了這篇文章 http://ppt.cc/HZp8
數字分別是 991206464 148670976
一樣來計算一下
991206464 * 1.5 = 1486809696
1486809696 - 100000 = 1486709696
很明顯的又是後面幾位出了問題
所以 可以知道MH在計算傷害時
用是一般的浮點數(float)在計算 所以才會出現這個誤差
如果改成倍精度浮點數(double float) 可能會拖到程式的一些效率
SORRY 不懂的話可以去翻一下計概的書就知道了(咦
因為奧丁的倍率沒有一個精確的公式
所以有興趣研究的朋友 可以改用其他2倍攻的卡 ( 或者等我有空時再來測一下 )
只要傷害達8位數時 應該就會出現誤差了
作者: slent67 (史蘭特67)   2014-11-01 21:35:00
我竟然看的懂XDD
作者: shamus0309 (團團-LoveKotori)   2014-11-01 21:36:00
這扯到了資訊科技的範圍XDD
作者: Kare112233 (天下皆有鋼筆)   2014-11-01 21:36:00
我建議你刪文 然後用回文的方式 不然有些人會不懂
作者: ATTwo (咖哩給Gay)   2014-11-01 21:36:00
數學給推
作者: blueocean292 (藍海)   2014-11-01 21:37:00
完全看不懂.....
作者: KiSeigi (Kuroda.K.Masamura)   2014-11-01 21:37:00
推玩神魔學數學
作者: longmok2500 (Yu)   2014-11-01 21:37:00
float...最近常常看到
作者: evilraistlin (神蝶)   2014-11-01 21:37:00
不明覺厲...
作者: creamdancer (奏鳴曲)   2014-11-01 21:38:00
浮點運算規則比較不是常人會接觸的東西XDDD
作者: Woyun99 (川川)   2014-11-01 21:40:00
數學之塔無誤~
作者: zinstar   2014-11-01 21:41:00
長知識了!
作者: pipiann (成立油改會~~監督中油)   2014-11-01 21:41:00
玩TOS長智慧
作者: qwe20 (晴晴我愛你)   2014-11-01 21:43:00
果然是C語言達人大滴勾
作者: jefftie2000 (Y.Y)   2014-11-01 21:45:00
完全看不懂XD
作者: bertrend (凡事反求諸己)   2014-11-01 21:45:00
之前也有人說自己是數學背景的 請問是數博嗎 還是數碩?
作者: zzxcasd (嚇嚇有名)   2014-11-01 21:46:00
跟數學什麼關係 明明就是計概 鄉民就是逼哀
作者: po5980 (風鳴)   2014-11-01 21:47:00
這跟數學沒關係阿= =
作者: allen65535 (劇情急轉直下)   2014-11-01 21:50:00
計概中的數學就不是數學嗎
作者: fishg1216 (葉綠體)   2014-11-01 21:50:00
快推文要不然人家會以為我看不懂
作者: CenaSucks (我不怕J條蛇)   2014-11-01 21:51:00
不好意思我太嫩,傷害到7位數就上不去了
作者: st940116 (lalalala)   2014-11-01 21:54:00
樓樓上也太好笑了~~~~~我是真的看不懂xDDDDDDDD
作者: oToToT (屁孩)   2014-11-01 21:57:00
Java雙精度浮點數範圍這麼小!?不喜歡java不知道
作者: dd830611 (歐拉歐拉)   2014-11-01 21:59:00
可惡我明明學過 只好推文裝懂惹
作者: evanade (二萌)   2014-11-01 21:59:00
oT你都沒看文喔,他說因為不是用雙精度所以才不準 = =
作者: yzkeroro (小製)(′˙ω˙‵)   2014-11-01 22:02:00
CS之塔
作者: TheOneisNEO (Thomas Anderson)   2014-11-01 22:04:00
有稍微認真念的話 數學系畢業應該就可以算數學背景了但我覺得這部分講的應該比較算CS 跟MATH關聯小
作者: spellcaster (Reveries)   2014-11-01 22:06:00
沒注意過數字有錯欸 還好看得懂
作者: TheOneisNEO (Thomas Anderson)   2014-11-01 22:07:00
有板友不懂的話這邊簡單解釋一下 就是儲存這些數值的變數儲存空間不夠(數值位數太多)導致運算時產生差異
作者: romron (變色龍)   2014-11-01 22:09:00
手機遊戲應該是用java寫的~ 不過概念一樣
作者: p85173 (小馬)   2014-11-01 22:10:00
推~~不過印象中直接(long)double好像就可以了?
作者: lapras (drazy crunk BlueDragonL)   2014-11-01 22:12:00
只是算幾個double不至於拖到效率吧....除非同時算幾千個
作者: dadadiiii (大D)   2014-11-01 22:13:00
快叫MH改一下程式
作者: Kare112233 (天下皆有鋼筆)   2014-11-01 22:16:00
說實話 10億 跟 1億 的用意在哪XDDD
作者: oToToT (屁孩)   2014-11-01 22:19:00
沒仔細看文sorry,看到double float就想應該是寫MH有用
作者: tease0623 (牛)   2014-11-01 22:19:00
看得懂給推XD
作者: youngmoa (小莫)   2014-11-01 22:20:00
不是數學阿 數值分析也會提到 就是一種演算法
作者: harry901 (harry901)   2014-11-01 22:23:00
太神了 不推不行
作者: x7791175 (漂泊浮雲)   2014-11-01 22:23:00
YA 我看得懂耶
作者: moho831 (飛雪)   2014-11-01 22:25:00
封神的生化犬是否直接破防
作者: zzxcasd (嚇嚇有名)   2014-11-01 22:26:00
對某人來說 他硬碟的A片也是數學
作者: talrasha (拉拉)   2014-11-01 22:27:00
演算法很重要 D3>POE 遊戲流暢度有差
作者: harry901 (harry901)   2014-11-01 22:33:00
連這也可以酸 果然只會出一張嘴
作者: rubyli5050   2014-11-01 22:37:00
printf("推推\n");
作者: oToToT (屁孩)   2014-11-01 22:41:00
print "推推\n"
作者: xiaolu5566 (小魯五六)   2014-11-01 22:45:00
System.out.println("快推,免得被酸");
作者: dadadiiii (大D)   2014-11-01 22:49:00
其實上一篇也是程式沒寫好 只印了9位數字出來
作者: lover790222 (fighter)   2014-11-01 22:56:00
當然換成雙精確會影響阿~記憶體空間需要再多
作者: steam   2014-11-01 23:01:00
cout << "可以幫我解TLE嗎,剛寫的程式效率太差"
作者: oToToT (屁孩)   2014-11-01 23:04:00
raw_input("伊登臭臭(Y/N) : ")
作者: channing3107 (??)   2014-11-01 23:04:00
NSLog(@"推推");
作者: lapras (drazy crunk BlueDragonL)   2014-11-01 23:08:00
float 4 byte,double 8 byte,除非你是要海量的double
作者: louisalflame (louisalflame)   2014-11-01 23:12:00
printf("推推\n");
作者: markk90355 (馬可久凌杉)   2014-11-01 23:22:00
同為資工人看得懂給推
作者: ht6401 (小二)   2014-11-01 23:22:00
我看得懂這篇文章...真的病了
作者: phpMyAdmin (phpMyAdmin)   2014-11-01 23:26:00
alert("推推");
作者: Kare112233 (天下皆有鋼筆)   2014-11-01 23:26:00
此篇將收錄喔01/11/2014 11:27 收錄於"遊戲技巧/系統"
作者: y35246357468 (小銀)   2014-11-01 23:46:00
原來打低是數學系的(筆記
作者: uhawae ( 好 屌 )   2014-11-01 23:57:00
還 蠻 屌 的 屌 爆 了
作者: totocc (Jimmy)   2014-11-02 00:03:00
哼哼 看來我微算機不是混過的
作者: zzxcasd (嚇嚇有名)   2014-11-02 00:17:00
看來你微算機真的是
作者: LinTom (Lin Tom)   2014-11-02 00:17:00
不懂啦QQ
作者: WinRARdotrar (WinRAR.rar)   2014-11-02 00:27:00
我覺得計概的數學大概只要高中程度就夠了...
作者: PIN0602 (批唉恩)   2014-11-02 00:32:00
玩神魔 學C語言
作者: skillLv9 (技九)   2014-11-02 00:33:00
printf("喔喔~就是小時候常常玩的那個單精度嘛~"\n)
作者: jknm0510a (Kang)   2014-11-02 00:45:00
cout << "原來是float阿,我還以為是long呢"
作者: andylin8707 (新垣是我的)   2014-11-02 01:11:00
看的懂給推
作者: arcslam (雷札特)   2014-11-02 01:14:00
cout << "推推\n"
作者: jujustine83 (很紳士的錢)   2014-11-02 01:39:00
快推不然別人以為我看不懂
作者: skeric (寶寶剛)   2014-11-02 01:47:00
看不懂給噓
作者: ericwu790419   2014-11-02 02:06:00
可見現在的攻擊倍率已經失控超出MH開始的預期
作者: joe820730 (Let it go)   2014-11-02 02:26:00
看得懂+1
作者: yap5678 (yap5678)   2014-11-02 03:13:00
知識藏在生活中!給推
作者: cccman (雲月)   2014-11-02 06:24:00
打滴哥太神啦
作者: herman1110 (餅餅XD)   2014-11-02 08:23:00
浮點是程式的範疇非數學吧XD 有懂給推
作者: Mars0704 (我是勇迷我驕傲)   2014-11-02 08:30:00
<a>我懂</a>
作者: beforelin (旋轉冰淇淋)   2014-11-02 08:43:00
原來如此啊 哩勒功三小…
作者: WindowsXP (:★↗煞气a作業系統↙☆:)   2014-11-02 10:43:00
英雄所見略同! 啥洨啊
作者: andypan898 (鐵甲暴龍先生)   2014-11-02 11:10:00
化工覺得被霸凌
作者: LongK (K佬)   2014-11-02 11:17:00
雖然唸資電 但是從來不會去算他......
作者: handsomegg39 (小小東PO)PO)PO))   2014-11-02 11:22:00
剛學到==
作者: kevinch123   2014-11-02 12:00:00
真的是完全看不懂啊…
作者: Dowsabow (沙包君)   2014-11-02 13:09:00
社會組情何以堪
作者: trylovetom (閒閒的猛男)   2014-11-02 14:36:00
沒記錯的話,神魔是用Unity去開發的,腳本語言是用JavaScript或C#
作者: isacheng (方吉外拍攝影師)   2014-11-02 14:40:00
外語系給推
作者: yap5678 (yap5678)   2014-11-02 20:24:00
這也太專業XD
作者: eggrocker   2014-11-03 08:40:00
外語系表示全版問號珠
作者: PolinHuang (380)   2014-11-04 18:53:00
來神魔版還要被數學霸凌XDDD

Links booklink

Contact Us: admin [ a t ] ucptt.com