1,374 バイト追加
、 2019年7月6日 (土) 12:25
加算ロールの演算処理を担うクラス。
* 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/内部処理]]