From 9de0215a5e631e6c5bc0275b9e42f5688ad5a659 Mon Sep 17 00:00:00 2001 From: Jacob Cody Wimer Date: Mon, 2 Feb 2015 13:07:08 -0500 Subject: [PATCH] Pool matches generated --- app/models/pool.rb | 58 +++++++++++++++++++++++++++++++++++------- app/models/wrestler.rb | 1 + db/seeds.rb | 37 +++++++++++++++++++-------- 3 files changed, 76 insertions(+), 20 deletions(-) diff --git a/app/models/pool.rb b/app/models/pool.rb index be7d780..29e377b 100644 --- a/app/models/pool.rb +++ b/app/models/pool.rb @@ -1,31 +1,71 @@ class Pool def onePool(wrestlers,weight_id,tournament) wrestlers.each do |w| - w.isWrestlingThisRound?(1) + w.poolNumber = 1 + w.save end - + roundRobin(1,tournament,weight_id) end - def twoPools(wrestlers) - + def twoPools(wrestlers,weight_id,tournament) + wrestlers.sort_by{|x|[x.original_seed]} + wrestlers.to_a + pool = 1 + wrestlers.each do |w| + w.poolNumber = pool + w.save + if pool < 2 + pool = pool + 1 + else + pool =1 + end + end + roundRobin(1,tournament,weight_id) + roundRobin(2,tournament,weight_id) end - def fourPools(wrestlers) + def fourPools(wrestlers,weight_id,tournament) + wrestlers.sort_by{|x|[x.original_seed]} + wrestlers.to_a + pool = 1 + wrestlers.each do |w| + w.poolNumber = pool + w.save + if pool < 4 + pool = pool + 1 + else + pool =1 + end + end + roundRobin(1,tournament,weight_id) + roundRobin(2,tournament,weight_id) + roundRobin(3,tournament,weight_id) + roundRobin(4,tournament,weight_id) + end + def roundRobin(pool,tournament,weight_id) + @wrestlers = Wrestler.where(weight_id: weight_id, poolNumber: pool).to_a + @wrestlers.each_with_index do |w,index| + next_guy_index = index+1 + while index < @wrestlers.length && next_guy_index < @wrestlers.length + other_guy = @wrestlers[next_guy_index] + createMatch(w.id,other_guy.id,tournament) + index += 1 + next_guy_index += 1 + end + end end - - def createMatch(w1,w2,round,tournament) - + def createMatch(w1,w2,tournament) @match = Match.new @match.r_id = w1 @match.g_id = w2 - @match.round = round @match.tournament_id = tournament @match.save + puts @match.inspect end end \ No newline at end of file diff --git a/app/models/wrestler.rb b/app/models/wrestler.rb index f38c6fc..a97d4a4 100644 --- a/app/models/wrestler.rb +++ b/app/models/wrestler.rb @@ -12,4 +12,5 @@ class Wrestler < ActiveRecord::Base return false end end + end diff --git a/db/seeds.rb b/db/seeds.rb index bea45e2..ae5072e 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -15,22 +15,37 @@ if Rails.env.development? School.create(id: 204, name: 'Grove City', tournament_id: 200) School.create(id: 205, name: 'Franklin Heights', tournament_id: 200) Weight.create(id: 200, max: 132, tournament_id: 200 ) + Weight.create(id: 201, max: 106, tournament_id: 200 ) + Weight.create(id: 202, max: 113, tournament_id: 200 ) Wrestler.create(name: 'Guy 1', school_id: 200, weight_id: 200, original_seed: 1, season_win: 0, season_loss: 0, criteria: 'N/A') Wrestler.create(name: 'Guy 2', school_id: 201, weight_id: 200, original_seed: 2, season_win: 0, season_loss: 0, criteria: 'N/A') Wrestler.create(name: 'Guy 3', school_id: 202, weight_id: 200, original_seed: 3, season_win: 0, season_loss: 0, criteria: 'N/A') Wrestler.create(name: 'Guy 4', school_id: 203, weight_id: 200, original_seed: 4, season_win: 0, season_loss: 0, criteria: 'N/A') Wrestler.create(name: 'Guy 5', school_id: 204, weight_id: 200, original_seed: 5, season_win: 0, season_loss: 0, criteria: 'N/A') -# Wrestler.create(name: 'Guy 6', school_id: 200, weight_id: 200, original_seed: 6, season_win: 0, season_loss: 0, criteria: 'N/A') -# Wrestler.create(name: 'Guy 7', school_id: 200, weight_id: 200, original_seed: 7, season_win: 0, season_loss: 0, criteria: 'N/A') -# Wrestler.create(name: 'Guy 8', school_id: 200, weight_id: 200, original_seed: 8, season_win: 0, season_loss: 0, criteria: 'N/A') -# Wrestler.create(name: 'Guy 9', school_id: 200, weight_id: 200, original_seed: 9, season_win: 0, season_loss: 0, criteria: 'N/A') -# Wrestler.create(name: 'Guy 10', school_id: 200, weight_id: 200, original_seed: 10, season_win: 0, season_loss: 0, criteria: 'N/A') -# Wrestler.create(name: 'Guy 11', school_id: 200, weight_id: 200, original_seed: 11, season_win: 0, season_loss: 0, criteria: 'N/A') -# Wrestler.create(name: 'Guy 12', school_id: 200, weight_id: 200, original_seed: 12, season_win: 0, season_loss: 0, criteria: 'N/A') -# Wrestler.create(name: 'Guy 13', school_id: 200, weight_id: 200, original_seed: 13, season_win: 0, season_loss: 0, criteria: 'N/A') -# Wrestler.create(name: 'Guy 14', school_id: 200, weight_id: 200, original_seed: 14, season_win: 0, season_loss: 0, criteria: 'N/A') -# Wrestler.create(name: 'Guy 15', school_id: 200, weight_id: 200, original_seed: 15, season_win: 0, season_loss: 0, criteria: 'N/A') -# Wrestler.create(name: 'Guy 16', school_id: 200, weight_id: 200, original_seed: 16, season_win: 0, season_loss: 0, criteria: 'N/A') + Wrestler.create(name: 'Guy 6', school_id: 200, weight_id: 200, original_seed: 6, season_win: 0, season_loss: 0, criteria: 'N/A') + Wrestler.create(name: 'Guy 7', school_id: 200, weight_id: 200, original_seed: 7, season_win: 0, season_loss: 0, criteria: 'N/A') + Wrestler.create(name: 'Guy 8', school_id: 200, weight_id: 200, original_seed: 8, season_win: 0, season_loss: 0, criteria: 'N/A') + Wrestler.create(name: 'Guy 9', school_id: 200, weight_id: 200, original_seed: 9, season_win: 0, season_loss: 0, criteria: 'N/A') + Wrestler.create(name: 'Guy 10', school_id: 200, weight_id: 200, original_seed: 10, season_win: 0, season_loss: 0, criteria: 'N/A') + Wrestler.create(name: 'Guy 11', school_id: 200, weight_id: 200, original_seed: 11, season_win: 0, season_loss: 0, criteria: 'N/A') + Wrestler.create(name: 'Guy 12', school_id: 200, weight_id: 200, original_seed: 12, season_win: 0, season_loss: 0, criteria: 'N/A') + Wrestler.create(name: 'Guy 13', school_id: 200, weight_id: 200, original_seed: 13, season_win: 0, season_loss: 0, criteria: 'N/A') + Wrestler.create(name: 'Guy 14', school_id: 200, weight_id: 200, original_seed: 14, season_win: 0, season_loss: 0, criteria: 'N/A') + Wrestler.create(name: 'Guy 15', school_id: 200, weight_id: 200, original_seed: 15, season_win: 0, season_loss: 0, criteria: 'N/A') + Wrestler.create(name: 'Guy 16', school_id: 200, weight_id: 200, original_seed: 16, season_win: 0, season_loss: 0, criteria: 'N/A') + Wrestler.create(name: 'Guy 17', school_id: 200, weight_id: 201, original_seed: 1, season_win: 0, season_loss: 0, criteria: 'N/A') + Wrestler.create(name: 'Guy 18', school_id: 201, weight_id: 201, original_seed: 2, season_win: 0, season_loss: 0, criteria: 'N/A') + Wrestler.create(name: 'Guy 19', school_id: 202, weight_id: 201, original_seed: 3, season_win: 0, season_loss: 0, criteria: 'N/A') + Wrestler.create(name: 'Guy 20', school_id: 203, weight_id: 201, original_seed: 4, season_win: 0, season_loss: 0, criteria: 'N/A') + Wrestler.create(name: 'Guy 21', school_id: 204, weight_id: 201, original_seed: 5, season_win: 0, season_loss: 0, criteria: 'N/A') + Wrestler.create(name: 'Guy 22', school_id: 200, weight_id: 201, original_seed: 6, season_win: 0, season_loss: 0, criteria: 'N/A') + Wrestler.create(name: 'Guy 23', school_id: 200, weight_id: 201, original_seed: 7, season_win: 0, season_loss: 0, criteria: 'N/A') + Wrestler.create(name: 'Guy 24', school_id: 200, weight_id: 201, original_seed: 8, season_win: 0, season_loss: 0, criteria: 'N/A') + Wrestler.create(name: 'Guy 25', school_id: 200, weight_id: 202, original_seed: 1, season_win: 0, season_loss: 0, criteria: 'N/A') + Wrestler.create(name: 'Guy 26', school_id: 201, weight_id: 202, original_seed: 2, season_win: 0, season_loss: 0, criteria: 'N/A') + Wrestler.create(name: 'Guy 27', school_id: 202, weight_id: 202, original_seed: 3, season_win: 0, season_loss: 0, criteria: 'N/A') + Wrestler.create(name: 'Guy 28', school_id: 203, weight_id: 202, original_seed: 4, season_win: 0, season_loss: 0, criteria: 'N/A') + Wrestler.create(name: 'Guy 29', school_id: 204, weight_id: 202, original_seed: 5, season_win: 0, season_loss: 0, criteria: 'N/A') end if Rails.env.production?