Class: BCDice::GameSystem::DoubleCross::ValueGroup

Inherits:
Object
  • Object
show all
Defined in:
lib/bcdice/game_system/DoubleCross.rb

Overview

出目のグループを表すクラス

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(values, critical_value) ⇒ ValueGroup

出目のグループを初期化する

Parameters:

  • values (Array<Integer>)

    出目の配列

  • critical_value (Integer)

    クリティカル値



168
169
170
171
# File 'lib/bcdice/game_system/DoubleCross.rb', line 168

def initialize(values, critical_value)
  @values = values.sort
  @critical_value = critical_value
end

Instance Attribute Details

#critical_valueInteger (readonly)

クリティカル値

Returns:

  • (Integer)


163
164
165
# File 'lib/bcdice/game_system/DoubleCross.rb', line 163

def critical_value
  @critical_value
end

#valuesArray<Integer> (readonly)

出目の配列

Returns:

  • (Array<Integer>)


160
161
162
# File 'lib/bcdice/game_system/DoubleCross.rb', line 160

def values
  @values
end

Instance Method Details

#maxInteger

出目のグループ中の最大値を返すクリティカル値以上の出目が含まれていた場合は10を返す。

3rd ルールブック1 pp. 185-186

Returns:

  • (Integer)


184
185
186
# File 'lib/bcdice/game_system/DoubleCross.rb', line 184

def max
  @values.any? { |value| critical?(value) } ? 10 : @values.max
end

#num_of_critical_occurrencesInteger

クリティカルの発生数を返す

Returns:

  • (Integer)


190
191
192
# File 'lib/bcdice/game_system/DoubleCross.rb', line 190

def num_of_critical_occurrences
  @values.count { |value| critical?(value) }
end

#to_sString

出目のグループの文字列表記を返す

Returns:

  • (String)


175
176
177
# File 'lib/bcdice/game_system/DoubleCross.rb', line 175

def to_s
  "#{max}[#{@values.join(',')}]"
end