1
0
mirror of https://github.com/jcwimer/wrestlingApp synced 2026-04-05 22:21:26 +00:00

Random seeding now works

This commit is contained in:
2015-12-30 16:21:56 +00:00
parent 6ed2bdf547
commit 74577eb9ec
11 changed files with 131 additions and 21 deletions

View File

@@ -1,6 +1,8 @@
module GeneratesTournamentMatches
def generateMatchups
resetSchoolScores
setSeedsAndRandomSeedingWrestlersWithoutSeeds
poolToBracket() if tournament_type == "Pool to bracket"
matches
end
@@ -9,7 +11,6 @@ module GeneratesTournamentMatches
end
def poolToBracket
resetSchoolScores
destroyAllMatches
buildTournamentWeights
generateMatches
@@ -39,5 +40,11 @@ module GeneratesTournamentMatches
m.save
end
end
def setSeedsAndRandomSeedingWrestlersWithoutSeeds
weights.each do |w|
w.setSeeds
end
end
end

View File

@@ -49,7 +49,7 @@ class Weight < ActiveRecord::Base
end
def onePoolNumbers(wrestlers)
wrestlers.sort_by{|x|[x.original_seed]}.each do |w|
wrestlers.sort_by{|x|[x.seed]}.each do |w|
w.poolNumber = 1
end
return wrestlers
@@ -58,14 +58,14 @@ class Weight < ActiveRecord::Base
def twoPoolNumbers(wrestlers)
pool = 1
wrestlers.sort_by{|x|[x.original_seed]}.reverse.each do |w|
if w.original_seed == 1
wrestlers.sort_by{|x|[x.seed]}.reverse.each do |w|
if w.seed == 1
w.poolNumber = 1
elsif w.original_seed == 2
elsif w.seed == 2
w.poolNumber = 2
elsif w.original_seed == 3
elsif w.seed == 3
w.poolNumber = 2
elsif w.original_seed == 4
elsif w.seed == 4
w.poolNumber = 1
else
w.poolNumber = pool
@@ -81,14 +81,14 @@ class Weight < ActiveRecord::Base
def fourPoolNumbers(wrestlers)
pool = 1
wrestlers.sort_by{|x|[x.original_seed]}.reverse.each do |w|
if w.original_seed == 1
wrestlers.sort_by{|x|[x.seed]}.reverse.each do |w|
if w.seed == 1
w.poolNumber = 1
elsif w.original_seed == 2
elsif w.seed == 2
w.poolNumber = 2
elsif w.original_seed == 3
elsif w.seed == 3
w.poolNumber = 3
elsif w.original_seed == 4
elsif w.seed == 4
w.poolNumber = 4
else
w.poolNumber = pool
@@ -141,4 +141,26 @@ class Weight < ActiveRecord::Base
def poolOrder(pool)
PoolOrder.new(wrestlersForPool(pool)).getPoolOrder
end
def randomSeeding
wrestlerWithSeeds = wrestlers.select{|w| w.original_seed != nil }.sort_by{|w| w.original_seed}
highestSeed = wrestlerWithSeeds.last.original_seed
seed = highestSeed
wrestlersWithoutSeed = wrestlers.select{|w| w.original_seed == nil }
wrestlersWithoutSeed.shuffle.each do |w|
w.seed = seed
w.save
seed += 1
end
end
def setSeeds
wrestlerWithSeeds = wrestlers.select{|w| w.original_seed != nil }.sort_by{|w| w.original_seed}
wrestlerWithSeeds.each do |w|
w.seed = w.original_seed
w.save
end
randomSeeding
end
end