「BCDice/内部処理/AddDiceクラス」の版間の差分
ナビゲーションに移動
検索に移動
Ochaochaocha3 (トーク | 投稿記録) |
(相違点なし)
|
2019年7月6日 (土) 12:25時点における版
加算ロールの演算処理を担うクラス。
- v2.02.80.01:https://github.com/torgtaitai/BCDice/blob/86b8dd03ae00f8ea6a8787f9f514a5d83b2e3d41/src/dice/AddDice.rb
getSlashedDice
ダイスロール結果の除算を行う。接尾辞 U
や R
によって丸め処理の方法を指定することができる。
例:
4D10
の結果が30
のとき- 切り捨て:
4D10/7
→ 4.2… → 4 - 四捨五入:
4D10/7R
→ 4.2… → 4 - 切り上げ:
4D10/7U
→ 4.2… → 5
- 切り捨て:
4D10
の結果が32
のとき- 切り捨て:
4D10/7
→ 4.5… → 4 - 四捨五入:
4D10/7R
→ 4.5… → 5 - 切り上げ:
4D10/7U
→ 4.5… → 5
- 切り捨て:
def getSlashedDice(slashMark, dice)
return dice unless( /^\/(\d+)(.)?$/i === slashMark )
rate = $1.to_i
mark = $2
return dice if( rate == 0 )
value = (1.0 * dice / rate)
case mark
when "U"
dice = value.ceil
when "R"
dice = value.round
else
dice = value.floor
end
return dice
end