差分

加算ロールの演算処理を担うクラス。

* v2.02.80.01:https://github.com/torgtaitai/BCDice/blob/86b8dd03ae00f8ea6a8787f9f514a5d83b2e3d41/src/dice/AddDice.rb

__TOC__

== getSlashedDice ==

https://github.com/torgtaitai/BCDice/blob/86b8dd03ae00f8ea6a8787f9f514a5d83b2e3d41/src/dice/AddDice.rb#L290-L311

ダイスロール結果の除算を行う。接尾辞 <code>U</code> や <code>R</code> によって丸め処理の方法を指定することができる。

例:

* <code>4D10</code> の結果が <code>30</code> のとき
** 切り捨て:<code>4D10/7</code> → 4.2… → 4
** 四捨五入:<code>4D10/7R</code> → 4.2… → 4
** 切り上げ:<code>4D10/7U</code> → 4.2… → 5
* <code>4D10</code> の結果が <code>32</code> のとき
** 切り捨て:<code>4D10/7</code> → 4.5… → 4
** 四捨五入:<code>4D10/7R</code> → 4.5… → 5
** 切り上げ:<code>4D10/7U</code> → 4.5… → 5

<syntaxhighlight lang="ruby">
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
</syntaxhighlight>

{{DEFAULTSORT:AddDice くらす}}
[[Category:BCDice/内部処理]]