Re: [閒聊] 什麼時候可以出個最大傷害記錄

看板ToS作者 (米漿 Porrige)時間6年前 (2017/11/07 00:22), 6年前編輯推噓31(35412)
留言51則, 39人參與, 6年前最新討論串2/3 (看更多)
來,讓敝人在下小弟不才我來簡單說明一下 為什麼排行榜最大傷害不是實際最大傷害。 大家只要打開排行榜想看看最大傷害 會發現開外掛(?)或是真的超高傷害的那些 (像是這次溢補關卡) 數字都是2147483647,對吧? 另外排行榜裡的最大連擊數也只會是255 這是為什麼呢? 簡單說,就是進制的問題罷了。 各位應該都知道電腦或手機的程式都是使用二進制編碼的 而神魔是採用32bit的計數方式 也就是說,之前在打最大連擊數那個成就 大家應該會發現打出去的傷害 就是只有214748364 (因為最後一位的7被顯示的位數吃掉了) 但是某次大更新後,就正式把遊戲中的數值提升了 (因為怪的血量越來越誇張......) 不過排行榜卻還沒改到 也就造成排行榜最大傷害還是只有2147483647了 這數字跟二進制32bit有個很大的關係 因為2147483647=2^31-1 寫成二進制的數字就會是111111111111111111111111111111131個1) 簡單解釋的話 32bit就是有32個位元 對於我們常用的進制來說 每個位數的最大值就是910就會進位 同理,進制的每個位元最大值就是12進位 那既然32bit32個數字 為什麼最大值卻是31個1而已呢? 因為二進制不像我們能在數字前方 加上+-來表示 而是同樣以10來表示 所以會缺一個位元來表示值 至於排行榜中的最大連擊數也是類似的道理 最大值會是255=2^8-1 代表工程師們只給它8位元 因為連擊數不像傷害會有負值 (像是傷害吸收之類的盾) 所以就是寫滿8個1囉 但是為什麼2^x還要再減1? 這就是數學的部份了 因為數字的計數是從0開始 也就是說第個數是0個數是1,以此類推 才會造成最後需要補個減1 來留給傷害0或是康波0的狀態 文組說明: 盤子最多只能放三顆榴槤 你的實際上有五顆榴槤 不過端出來給客人最多只能放三顆 這樣應該簡單多了哈哈 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 106.1.213.239 ※ 文章網址: https://www.ptt.cc/bbs/ToS/M.1509985356.A.0A2.html ※ 編輯: yallowsam21 (106.1.213.239), 11/07/2017 00:26:50

11/07 00:27, 6年前 , 1F
快推以免被認為看不懂
11/07 00:27, 1F
謝謝支持(?)

11/07 00:30, 6年前 , 2F
有沒有文組版本的說明
11/07 00:30, 2F
已附上

11/07 00:30, 6年前 , 3F
為什麼要減1,因為數字從零開始啊…
11/07 00:30, 3F
各個角度而言大概是這樣解釋沒錯

11/07 00:31, 6年前 , 4F
沒有最經典的32767 失敗
11/07 00:31, 4F
32767=2^15-1 是16bit的最大數 嗯嗯,可是這數字跟神魔的淵源是什麼OAO?

11/07 00:32, 6年前 , 5F
C8763
11/07 00:32, 5F
會有C的話是十六進制十六進制C8763=十進制821091 (硬要哈哈)

11/07 00:33, 6年前 , 6F
說好的65535呢
11/07 00:33, 6F
65535又是來幹嘛的啦XDD

11/07 00:44, 6年前 , 7F
32767~-32768
11/07 00:44, 7F
這就是16bit有正負值的數值範圍,沒錯~

11/07 00:45, 6年前 , 8F
把位數都拿去存正數 就不用多花一位計正負了吧
11/07 00:45, 8F
但是在計算傷害上 就像內文說的 會有傷害吸收的敵人技能啊 因為沒有達成條件造成了傷害吸收 也就是我對敵人的傷害是負數 如果工程師寫的程式是這樣的計算方式 那就會需要計正負數囉

11/07 00:47, 6年前 , 9F
原來是數學之塔啊 我還以為這裡是神魔之塔勒
11/07 00:47, 9F
不是數學,是數位邏輯(夠了

11/07 00:48, 6年前 , 10F
60229
11/07 00:48, 10F
這是學號是嗎(*′▽‵*)

11/07 01:02, 6年前 , 11F
32767~-32768 是天堂的正義值範圍啦~~~ XD
11/07 01:02, 11F
抱歉那不是我的童年哈哈 不過就這裡而言的確也是同樣的道理沒錯哦~

11/07 01:16, 6年前 , 12F
推文組說明
11/07 01:16, 12F
下面被平衡打擊了QQ

11/07 01:24, 6年前 , 13F
天堂經典正義值:32767 邪惡值:-32768 神魔沒有跟天堂致敬!
11/07 01:24, 13F
因為他們總是覺得自己比較偉大哈哈哈哈

11/07 01:26, 6年前 , 14F
先推
11/07 01:26, 14F
感謝補血QuQ

11/07 01:28, 6年前 , 15F
幹文組說明反而看不懂
11/07 01:28, 15F
改過了,大人再看看<(_ _)>

11/07 01:46, 6年前 , 16F
有文組版 讚
11/07 01:46, 16F
不過感覺不夠純 我換了一批新貨,應該不錯

11/07 01:59, 6年前 , 17F
文組版看的霧煞煞
11/07 01:59, 17F
我也是解釋的不太清楚 這樣應該可以了吧

11/07 02:40, 6年前 , 18F
媽的之前寫加減器被助教刁這個
11/07 02:40, 18F
我懂... 還好我過了(欠打

11/07 06:50, 6年前 , 19F
不懂為什麼少1才看完的 結果沒講
11/07 06:50, 19F
大哥對不起我補上了

11/07 07:27, 6年前 , 20F
我是理組我驕傲
11/07 07:27, 20F
我是偽文組的理組 我不知道該不該驕傲030;;;

11/07 07:39, 6年前 , 21F
為什麼少1不是有講了嗎?任何數字序列都從0開始啊
11/07 07:39, 21F

11/07 07:40, 6年前 , 22F
十進制的三位數上限不是一千,是999,一樣的道理
11/07 07:40, 22F

11/07 07:40, 6年前 , 23F
話說這是國小的數學了吧
11/07 07:40, 23F
最簡單的東西反而最容易忘記 我完全忘了可以這樣解釋哈哈 謝謝大大,我補上說明囉~

11/07 07:50, 6年前 , 24F
第一千個數字是999而不是1000 因為是從零開始數
11/07 07:50, 24F
沒有綽啦

11/07 08:21, 6年前 , 25F
文組解釋
11/07 08:21, 25F
抱歉我不夠文組

11/07 09:13, 6年前 , 26F
好像看過2147483648 ?
11/07 09:13, 26F
那就是沒有負數的情況呀 像是回血就會是這數值 因為工程師把回血跟扣血看成兩回事

11/07 09:30, 6年前 , 27F
第一次搞懂給推。
11/07 09:30, 27F
很高興能讓非專業領域的各位體會到這種茅塞頓開的感覺哈哈

11/07 09:35, 6年前 , 28F
2147483648就楓幣上限阿
11/07 09:35, 28F
這也是沒有負數的情況~

11/07 09:41, 6年前 , 29F
認真問神魔為什過了這麼久還是用int 不是long long
11/07 09:41, 29F
怕記憶體不夠? 不然就是一改宣告整個程式會有大BUG產生

11/07 09:43, 6年前 , 30F
有天堂給推 XD
11/07 09:43, 30F
雖然不是我寫的 XD

11/07 10:21, 6年前 , 31F
這理組根本就常識 文組又看不懂 根本一篇廢文
11/07 10:21, 31F
對不起我也只是想讓非專業領域的人能夠瞭解這原因 所以我也盡量廣納各方意見去完善這個解釋文 當然也謝謝大大的會心一擊 讓我真的能發現自己的盲點

11/07 11:09, 6年前 , 32F
原本4計概神 推一個
11/07 11:09, 32F
這是認識的人是嗎哈哈

11/07 11:14, 6年前 , 33F
我問的是2^n-1那個-1是為什麼
11/07 11:14, 33F
嗯嗯我補充了k大再看看^_^

11/07 11:23, 6年前 , 34F
2^n在二進位制是n+1位數啊 2^1=(2)10=(10)2 =>2位數
11/07 11:23, 34F

11/07 11:24, 6年前 , 35F
所以只能顯示n位數的話就要2^n-1 那就是n位數的最大值
11/07 11:24, 35F
這麼說也沒錯 不過文組可能還是會頭暈 (不是戰文理組啦哈哈 畢竟術業有專攻嘛

11/07 11:50, 6年前 , 36F
因為有0 所以會2^n-1
11/07 11:50, 36F
對的~就是0也是一個數字的基本概念

11/07 12:38, 6年前 , 37F
文組說明意思感覺不太通
11/07 12:38, 37F
對不起我真的不是純文組 這樣應該可以了

11/07 12:42, 6年前 , 38F
我也推60229
11/07 12:42, 38F
60229到底是什麼啊啊啊啊QAQ

11/07 14:06, 6年前 , 39F
文組也看不懂文組版怎麼辦
11/07 14:06, 39F
我的錯我掌嘴(啪 改過了這樣應該可以,大哥再看看? ※ 編輯: yallowsam21 (49.218.85.63), 11/07/2017 14:54:37

11/07 15:12, 6年前 , 40F
60229
11/07 15:12, 40F

11/07 15:14, 6年前 , 41F
60229+1
11/07 15:14, 41F
好我知道是誰了 原來是 打牌靠右手 60229 啊

11/07 18:45, 6年前 , 42F
推文完美體現了世界上只有10種人的概念:懂二進位的人跟
11/07 18:45, 42F

11/07 18:45, 6年前 , 43F
不懂二進位的人
11/07 18:45, 43F
沒有綽啦~ ※ 編輯: yallowsam21 (49.218.85.63), 11/07/2017 19:06:53

11/07 21:37, 6年前 , 44F
沒改成long的原因應該是sql的關係,改下去sql部分工程就
11/07 21:37, 44F

11/07 21:37, 6年前 , 45F
大了,因為有紀錄部分要同步更新
11/07 21:37, 45F

11/07 21:39, 6年前 , 46F
話說目前的手機大都還是32 bit,跟這個bug無法改掉有關嗎?
11/07 21:39, 46F

11/08 00:30, 6年前 , 47F
懂了 推回來
11/08 00:30, 47F

11/08 02:57, 6年前 , 48F
推推 很清楚一看就懂~
11/08 02:57, 48F

11/08 08:44, 6年前 , 49F
連文組版本都看了好幾次才懂QAQ
11/08 08:44, 49F

11/08 08:56, 6年前 , 50F
有沒有智X版?
11/08 08:56, 50F

08/25 00:42, 6年前 , 51F
推XD
08/25 00:42, 51F
文章代碼(AID): #1Q08nC2Y (ToS)
文章代碼(AID): #1Q08nC2Y (ToS)