class BCDice::DiceTable::D66RangeTable

項目をRangeを用いて参照するD66表

Public Class Methods

new(name, items) click to toggle source

@param name [String] 表の名前 @param items [Array<(Range, String)>] 表の項目の配列

# File lib/bcdice/dice_table/d66_range_table.rb, line 9
def initialize(name, items)
  @name = name
  @items = items.freeze
end

Public Instance Methods

roll(randomizer) click to toggle source

表を振る @param randomizer [#roll_once] ランダマイザ @return [String] 結果

# File lib/bcdice/dice_table/d66_range_table.rb, line 17
def roll(randomizer)
  dice1 = randomizer.roll_once(6)
  dice2 = randomizer.roll_once(6)

  key = dice1 * 10 + dice2

  chosen = @items.find { |row| row[0].include?(key) }
  return RollResult.new(@name, key, chosen[1])
end