class BCDice::GameSystem::DeadlineHeroes::DeathChart
Public Class Methods
new(name, chart)
click to toggle source
# File lib/bcdice/game_system/DeadlineHeroes.rb, line 117 def initialize(name, chart) @name = name @chart = chart.freeze if @chart.size != 11 raise ArgumentError, "unexpected chart size #{name.inspect} (given #{@chart.size}, expected 11)" end end
Public Instance Methods
roll(randomizer, minus_score)
click to toggle source
@param randomizer [Randomizer] @param minus_score [Integer] @return [String]
# File lib/bcdice/game_system/DeadlineHeroes.rb, line 129 def roll(randomizer, minus_score) dice = randomizer.roll_once(10) key_number = dice + minus_score key_text, chosen = at(key_number) return "デスチャート(#{@name})[マイナス値:#{minus_score} + 1D10(->#{dice}) = #{key_number}] > #{key_text} : #{chosen}" end
Private Instance Methods
at(key_number)
click to toggle source
key_numberの10から20がindexの0から10に対応する
# File lib/bcdice/game_system/DeadlineHeroes.rb, line 141 def at(key_number) if key_number < 10 ["10以下", @chart.first] elsif key_number > 20 ["20以上", @chart.last] else [key_number.to_s, @chart[key_number - 10]] end end