turniere-backend/app/services/matches.rb

33 lines
807 B
Ruby

module Turniere
class Matches
def self.generate_matches(teams)
if teams.size == 1
return #TODO error with only one team
end
neededGames = 0
if (Turniere::Utils.po2?(teams.size())
neededGames = teams.size() / 2
else
neededGames = teams.size() - Turniere::Utils.previous_power_of_two(teams.size()) / 2
end
lastPos = 0
matches = []
i = 0
while i < neededGames
match = Match(teams[2 * i], teams[( 2 * i ) + 1], 0, 0, :not_startet, i, false)
matches.insert match
i++
end
lastPos = i + 1
while teams.size() != 0
match = Match(teams[2 * i], teams[( 2 * i ) + 1], 0, 0, Match, i, false)
matches.insert match
end
return lastPos
end
end
end