Sha256: cb889fc58880e3366aa19311d343bf9bcae20f6598cec1b8246f2e13e37fa8a7

Contents?: true

Size: 623 Bytes

Versions: 1

Compression:

Stored size: 623 Bytes

Contents

module FootballManager
  class TeamPicker
    def self.calculate_fair_teams(players)
      team_a, team_b  = FootballManager::Team.new, FootballManager::Team.new

      players_in_descending_order(players).each do |player|
        if team_a.empty? || team_a.points <= team_b.points
          team_a << player
        else
          team_b << player
        end
      end

      return [team_a, team_b]
    end

    private
      def self.players_in_descending_order(players)
        9.downto(1).collect do |i|
          players.select { |player| player.skill == i }.sort_by {rand}
        end.flatten!
      end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
football-manager-1.0.1 lib/football-manager/team_picker.rb