Sha256: 9220160cf38f3ad3975465545415413fddb421727790518080817f9444393fe9

Contents?: true

Size: 598 Bytes

Versions: 1

Compression:

Stored size: 598 Bytes

Contents

module Bridge::Points
  class Duplicate
    def initialize(*scores)
      @scores = Array(scores).flatten
    end

    def max
      @scores.inject({}) do |result, score|
        result.tap do |r|
          r[score] ||= @scores.inject(-1) { |points, s| points += (score <=> s) + 1 }
        end
      end
    end

    # def max_percents
    #   max.tap do |result|
    #     result.each do |score, points|
    #       result[score] = points * 100.0 / theoretical_max
    #     end
    #   end
    # end

    # protected

    # def theoretical_max
    #   (@scores.size - 1) * 2
    # end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
bridge-0.1.2 lib/bridge/points/duplicate.rb