Class: BCDice::GameSystem::DoubleCross::ValueGroup
- Inherits:
-
Object
- Object
- BCDice::GameSystem::DoubleCross::ValueGroup
- Defined in:
- lib/bcdice/game_system/DoubleCross.rb
Overview
出目のグループを表すクラス
Instance Attribute Summary collapse
-
#critical_value ⇒ Integer
readonly
クリティカル値.
-
#values ⇒ Array<Integer>
readonly
出目の配列.
Instance Method Summary collapse
-
#initialize(values, critical_value) ⇒ ValueGroup
constructor
出目のグループを初期化する.
-
#max ⇒ Integer
出目のグループ中の最大値を返す クリティカル値以上の出目が含まれていた場合は10を返す。 [3rd ルールブック1 pp. 185-186].
-
#num_of_critical_occurrences ⇒ Integer
クリティカルの発生数を返す.
-
#to_s ⇒ String
出目のグループの文字列表記を返す.
Constructor Details
#initialize(values, critical_value) ⇒ ValueGroup
出目のグループを初期化する
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_value ⇒ Integer (readonly)
クリティカル値
163 164 165 |
# File 'lib/bcdice/game_system/DoubleCross.rb', line 163 def critical_value @critical_value end |
#values ⇒ Array<Integer> (readonly)
出目の配列
160 161 162 |
# File 'lib/bcdice/game_system/DoubleCross.rb', line 160 def values @values end |
Instance Method Details
#max ⇒ Integer
出目のグループ中の最大値を返すクリティカル値以上の出目が含まれていた場合は10を返す。
- 3rd ルールブック1 pp. 185-186
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_occurrences ⇒ 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_s ⇒ String
出目のグループの文字列表記を返す
175 176 177 |
# File 'lib/bcdice/game_system/DoubleCross.rb', line 175 def to_s "#{max}[#{@values.join(',')}]" end |