module Yahtzee::Scoring
Public Instance Methods
reduce_values_from_hash(hash)
click to toggle source
# File lib/scoring.rb, line 42 def reduce_values_from_hash(hash) hash.values.compact.reduce(:+) end
score(dice, placement, &updater)
click to toggle source
# File lib/scoring.rb, line 21 def score(dice, placement, &updater) value = send("score_#{placement.to_s}", dice) updater.call(placement, value) end
score_game_total(scores, &updater)
click to toggle source
# File lib/scoring.rb, line 37 def score_game_total(scores, &updater) value = reduce_values_from_hash(scores) updater.call(:game_total, value) end
score_subtotal(scores, placement, &updater)
click to toggle source
# File lib/scoring.rb, line 26 def score_subtotal(scores, placement, &updater) value = reduce_values_from_hash(scores) updater.call(placement, value) end
score_upper_total(scores, &updater)
click to toggle source
# File lib/scoring.rb, line 31 def score_upper_total(scores, &updater) subtotal = reduce_values_from_hash(scores) bonus = subtotal >= 63 ? 35 : 0 updater.call(:upper_total, bonus+subtotal) end