summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrewMurrell <amurrel@purdue.edu>2014-04-26 18:46:05 -0400
committerAndrewMurrell <amurrel@purdue.edu>2014-04-26 18:46:05 -0400
commitd5e4ac14fc51631f5cd77ba4226ba5911ffe7e37 (patch)
tree5c887f6ff3f6f8ac3a8a913953d791b8030fc0d5
parent36cdca9bc95599e67f73889c3ebf7d52f55f06eb (diff)
parent78df502c74525cee987e551fc82e91595e63ed01 (diff)
Merge branch 'master' of http://github.com/LukeShu/leaguer
-rw-r--r--lib/scheduling/elimination.rb1
-rw-r--r--lib/scheduling/roundrobin.rb42
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