怎麼用
- 在「擲骰子」分頁選顆數(1 到 10 顆)和面數(4、6、8、10、12、20),按「擲骰子」。畫面會列出每一顆的點數與總和,下方保留最近 30 次的紀錄。
- 不想看動畫,可以取消勾選「擲的時候顯示動畫」,結果會立刻出現。動畫只是畫面效果,點數在動畫開始前就決定好了。
- 切到「擲硬幣」分頁,設定連擲次數,按「擲硬幣」。單次會顯示正面或反面,連擲多次則顯示正反各幾次,並累計成統計。
- 想重新開始統計,按「重新統計」。
為什麼這裡的結果是公平的
很多線上骰子用的是 Math.random,這類「偽隨機」在不同瀏覽器的實作並不保證品質。這個工具改用瀏覽器內建的 crypto.getRandomValues,它的亂數來自作業系統的安全隨機來源,是用來產生加密金鑰的等級。
另一個常被忽略的細節是「取餘數偏差」。電腦給的亂數是一個很大的整數,要變成 1 到 6,直覺的做法是除以 6 取餘數,但 2 的 32 次方不能被 6 整除,結果某幾個點數會多出極微小的機率。這裡採用「拒絕取樣」:如果抽到的數字落在會造成偏差的尾端範圍,就丟掉重抽,保證每個點數的機率完全一樣。
各種骰子的常見用途
- 6 面骰(D6):大富翁、飛行棋、蛇棋、各種家庭桌遊。兩顆加總是許多遊戲的移動規則。
- 20 面骰(D20):龍與地下城、跑團類遊戲的判定骰,擲出越高通常越成功,擲到 1 或 20 常有特殊結果。
- 4、8、12 面骰:跑團中用來計算傷害與各種數值。
- 10 面骰(D10):兩顆可以組成 01 到 100 的百分比判定,一顆當十位、一顆當個位。
- 決定順序與分配:聚餐誰請客、誰先玩、輪到誰值日,都可以用擲骰子決定。
兩顆六面骰的點數機率
| 總和 | 組合數(共 36 種) | 機率 |
|---|---|---|
| 2 或 12 | 各 1 種 | 各約 2.8% |
| 3 或 11 | 各 2 種 | 各約 5.6% |
| 4 或 10 | 各 3 種 | 各約 8.3% |
| 5 或 9 | 各 4 種 | 各約 11.1% |
| 6 或 8 | 各 5 種 | 各約 13.9% |
| 7 | 6 種 | 約 16.7% |
可以拿這張表跟你連擲幾百次的紀錄比對:次數夠多時,每個總和出現的比例會慢慢接近上表。
擲硬幣決定事情的小提醒
- 先說好規則:擲之前先講好哪一面代表什麼,擲完再講容易吵架。
- 每一次是獨立的:連續三次正面,下一次仍然是各一半的機率。
- 重要決定不要全靠硬幣:有人說擲硬幣的好處是,在硬幣落下前,你會發現自己其實希望出現哪一面。
常見問題
線上擲骰子是真的隨機嗎?會不會有人為操控?
是密碼學安全等級的隨機(不可預測)。每一顆骰子、每一次硬幣,都用瀏覽器內建的 crypto.getRandomValues 取得亂數,這是密碼學等級的亂數來源(作業系統提供的安全隨機數),不是常見的 Math.random 那種可預測的偽隨機。換算成點數時用「拒絕取樣」的方式,避免用取餘數換算而讓某幾個點數機率偏高。整個過程在你的瀏覽器裡完成,不經過我們的伺服器,所以我們沒辦法、也沒有誘因去操控結果。
為什麼要用 4、6、8、10、12、20 面骰?
這六種是桌遊與角色扮演遊戲(例如 D&D、跑團)最常用的多面體骰子:4 面骰是四面體,6 面骰就是一般的正方體骰子,8 面骰是八面體,10 面骰常用來擲百分比,12 面骰是十二面體,20 面骰(D20)是最常用來做判定的骰子。本工具的點數都是從 1 開始,10 面骰顯示 1 到 10;如果你的遊戲規則用 0 到 9,把 10 當作 0 就行。
擲兩顆六面骰,點數總和最容易是多少?
最容易擲出 7。兩顆六面骰一共有 36 種組合,總和為 7 的有 6 種(1+6、2+5、3+4、4+3、5+2、6+1),機率約 16.7%;總和 2 和 12 各只有 1 種組合,機率約 2.8%。顆數越多,總和越集中在中間,這是為什麼桌遊裡「擲多顆骰子加總」的結果比「擲一顆」更穩定。
連續擲硬幣,為什麼正反面次數常常不是剛好一半?
因為每一次都是獨立的隨機事件。擲 10 次,剛好 5 正 5 反的機率只有約 24.6%,擲 100 次剛好 50 次正面的機率約 8%。次數越多,正面所占的「比例」會越接近 50%,但「次數的差距」其實還可能變大,這是機率裡常見的誤解。連續出現好幾次正面,也不代表下一次比較容易出現反面,硬幣沒有記憶。你可以把連擲次數調到 1000,看比例怎麼逐漸靠近一半。
擲骰子的結果會被記錄或上傳嗎?
不會。結果與歷史紀錄只存在這個頁面的記憶體裡,不會送到伺服器,也沒有存在瀏覽器裡,重新整理頁面就會清空。要保留的話請自己截圖或抄下來。
可以拿來做公平的抽籤或決定先後順序嗎?
可以。擲硬幣適合二選一,例如決定誰先開球;擲骰子適合最多 20 個選項的情境。如果你要從一份名單裡抽人、或把人隨機分組,用本站的「線上抽籤」更方便。不管用哪一種,如果事情牽涉金錢或比賽,建議事先講好規則,並讓所有人都看得到擲的畫面。
規格與來源
- 亂數來源:W3C《Web Cryptography API》中的 Crypto.getRandomValues()(w3.org/TR/WebCryptoAPI)。
- 拒絕取樣(rejection sampling):把 32 位元亂數 r 與上限 floor(2³² ÷ n) × n 比較,r 在上限以上就重抽,其餘取 r mod n,確保 0 到 n−1 的機率完全相同。
- 骰子點數從 1 起算;10 面骰顯示 1–10。
- 所有結果在瀏覽器內產生,不上傳、不存檔。