class BCDice::DiceTable::D66ParityTable
出目の偶奇による場合分け機能をもつD66表
Public Class Methods
new(name, odd, even)
click to toggle source
@param name [String] 表の名前 @param odd [Array<String>] 左ダイスが奇数だったときの次層テーブル(サイズ6) @param even [Array<String>] 左ダイスが偶数だったときの次層テーブル(サイズ6)
# File lib/bcdice/dice_table/d66_parity_table.rb, line 10 def initialize(name, odd, even) @name = name @odd = odd.freeze @even = even.freeze end
Public Instance Methods
roll(randomizer)
click to toggle source
表を振る @param randomizer [#roll_once] ランダマイザ @return [String] 結果
# File lib/bcdice/dice_table/d66_parity_table.rb, line 19 def roll(randomizer) dice1 = randomizer.roll_once(6) dice2 = randomizer.roll_once(6) if dice1.odd? second_table = @odd else second_table = @even end result = second_table[dice2 - 1] key = dice1 * 10 + dice2 return RollResult.new(@name, key, result) end