mirror of
https://github.com/jcwimer/wrestlingApp
synced 2026-03-24 17:04:43 +00:00
70 lines
1.4 KiB
Ruby
70 lines
1.4 KiB
Ruby
class Pool
|
|
def onePool(wrestlers,weight_id,tournament)
|
|
wrestlers.each do |w|
|
|
w.poolNumber = 1
|
|
w.save
|
|
end
|
|
roundRobin(1,tournament,weight_id)
|
|
end
|
|
|
|
|
|
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,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,tournament)
|
|
@match = Match.new
|
|
@match.r_id = w1
|
|
@match.g_id = w2
|
|
@match.tournament_id = tournament
|
|
@match.save
|
|
end
|
|
|
|
end |