「BCDice/内部処理/AddDiceクラス」の版間の差分
ナビゲーションに移動
検索に移動
Ochaochaocha3 (トーク | 投稿記録) |
タグ: 取り消し |
(他の1人の利用者による、間の1版が非表示) | |
(相違点なし)
|
2020年8月27日 (木) 07:39時点における最新版
加算ロールの演算処理を担うクラス。
- 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