module Yahtzee::Scoring module UpperCard module_function def score_aces(dice) score_sums(dice, 1) end def score_twos(dice) score_sums(dice, 2) end def score_threes(dice) score_sums(dice, 3) end def score_fours(dice) score_sums(dice, 4) end def score_fives(dice) score_sums(dice, 5) end def score_sixes(dice) score_sums(dice, 6) end def score_sums(dice, scoring_die) dice.select {|die| die == scoring_die}.reduce(:+) end end end