diff options
author | AndrewMurrell <amurrel@purdue.edu> | 2014-04-26 18:46:05 -0400 |
---|---|---|
committer | AndrewMurrell <amurrel@purdue.edu> | 2014-04-26 18:46:05 -0400 |
commit | d5e4ac14fc51631f5cd77ba4226ba5911ffe7e37 (patch) | |
tree | 5c887f6ff3f6f8ac3a8a913953d791b8030fc0d5 /lib/scheduling | |
parent | 36cdca9bc95599e67f73889c3ebf7d52f55f06eb (diff) | |
parent | 78df502c74525cee987e551fc82e91595e63ed01 (diff) |
Merge branch 'master' of http://github.com/LukeShu/leaguer
Diffstat (limited to 'lib/scheduling')
-rw-r--r-- | lib/scheduling/elimination.rb | 1 | ||||
-rw-r--r-- | lib/scheduling/roundrobin.rb | 42 |
2 files changed, 33 insertions, 10 deletions
diff --git a/lib/scheduling/elimination.rb b/lib/scheduling/elimination.rb index bf752b6..074cb5c 100644 --- a/lib/scheduling/elimination.rb +++ b/lib/scheduling/elimination.rb @@ -34,6 +34,7 @@ module Scheduling end def match_finished(match) + #what in the goddamn fuck does this mean matches = match.tournament_stage.matches_ordered cur_match_num = matches.invert[match] unless cur_match_num == 1 diff --git a/lib/scheduling/roundrobin.rb b/lib/scheduling/roundrobin.rb index e2db2cf..e149860 100644 --- a/lib/scheduling/roundrobin.rb +++ b/lib/scheduling/roundrobin.rb @@ -7,35 +7,57 @@ module Scheduling end def create_matches - num_teams = (self.tournament.players.count/self.tournament.min_players_per_team).floor - num_matches = (num_teams* Float(num_teams-1)/2).ceil + num_teams = (tournament.players.count/tournament.min_players_per_team).floor + num_matches = Float(num_teams/2)*(num_teams-1) + for i in 1..num_matches + tournament_stage.matches.create(status: 0, submitted_peer_evaluations: 0) + end + end - #round robin should look like this + def create_round_array + #round robin should look like this. + #NOTE: I DO NOT KNOW IF THIS IS HOW TO PROPERLY POPULATE THE ROUND ROBIN ARRAY WITH TEAMS @team_pairs = Array.new(num_matches) for i in 0..@match.teams.size @team_pairs.push(@match.teams[i]) + #if there is an odd number of teams, add a dummy for byes + if @match.teams.size % 2 != 0 && i == @match.teams.size-1 + dummy = Team.create + @team_pairs.push(dummy) + end end - #team_pairs needs populated with the team objects and im not sure how to do that end #this is called when a round has completed def rotate + #remove first team hold = @team_pairs.shift + #rotate by 1 element @team_pairs.rotate! + #place first team the front of the array @team_pairs.unshift(hold) - # for j in 0..4 - # puts "#{array[j]}, #{array[j+(array.size/2)-1]}" - # end - # puts "\n\n" + + end + def mother_fuckin_winner + scores = {} + @teams_pairs.each do |team| + scores[team] = team.matches. + where(:tournament_stage => tournament_stage). + collect{|match|match.winner==team} + end + weiner = scores.index(scores.max) + scores[weiner] end def match_finished(match) - + #declare winner of match, and store that somehow + rotate + return "totes worked\n" end def graph(current_user) - + end end end |