1
0
mirror of https://github.com/jcwimer/wrestlingApp synced 2026-03-25 01:14:43 +00:00

Poolbracket does not keep a matches collection

This commit is contained in:
RJ Osborne
2015-05-25 00:45:31 -04:00
parent c855da0e6e
commit 20ef048f48
2 changed files with 73 additions and 67 deletions

View File

@@ -1,76 +1,80 @@
class Poolbracket
def generateBracketMatches(matches, weight, highest_round)
if weight.pool_bracket_type == "twoPoolsToSemi"
return twoPoolsToSemi(matches, weight, highest_round)
elsif weight.pool_bracket_type == "twoPoolsToFinal"
return twoPoolsToFinal(matches, weight, highest_round)
elsif weight.pool_bracket_type == "fourPoolsToQuarter"
return fourPoolsToQuarter(matches, weight, highest_round)
elsif weight.pool_bracket_type == "fourPoolsToSemi"
return fourPoolsToSemi(matches, weight, highest_round)
end
return matches
end
def initialize(weight, highest_round)
@weight = weight
@tournament = @weight.tournament
@pool_bracket_type = @weight.pool_bracket_type
@round = highest_round + 1
end
def twoPoolsToSemi(matches, weight, round)
round += 1
matches = createMatchup(matches, weight, round, "Winner Pool 1", "Runner Up Pool 2", "Semis", 1)
matches = createMatchup(matches, weight, round, "Winner Pool 2", "Runner Up Pool 1", "Semis", 2)
round += 1
matches = matches.select{|m| m.weight_id == weight.id}
matches = createMatchup(matches, weight, round,"","","1/2",1)
matches = createMatchup(matches, weight, round,"","","3/4",1)
end
def next_round
@round += 1
end
def twoPoolsToFinal(matches,weight,round)
round += 1
matches = createMatchup(matches, weight, round, "Winner Pool 1", "Winner Pool 2", "1/2", 1)
matches = createMatchup(matches, weight, round, "Runner Up Pool 1", "Runner Up Pool 2", "3/4", 1)
def generateBracketMatches()
if @pool_bracket_type == "twoPoolsToSemi"
return twoPoolsToSemi()
elsif @pool_bracket_type == "twoPoolsToFinal"
return twoPoolsToFinal()
elsif @pool_bracket_type == "fourPoolsToQuarter"
return fourPoolsToQuarter()
elsif @pool_bracket_type == "fourPoolsToSemi"
return fourPoolsToSemi()
end
return []
end
def fourPoolsToQuarter(matches,weight,round)
round += 1
matches = createMatchup(matches, weight, round, "Winner Pool 1", "Runner Up Pool 2", "Quarter", 1)
matches = createMatchup(matches, weight, round, "Winner Pool 4", "Runner Up Pool 3", "Quarter", 2)
matches = createMatchup(matches, weight, round, "Winner Pool 2", "Runner Up Pool 1", "Quarter", 3)
matches = createMatchup(matches, weight, round, "Winner Pool 3", "Runner Up Pool 4", "Quarter", 4)
round += 1
matches = createMatchup(matches, weight, round, "", "", "Semis", 1)
matches = createMatchup(matches, weight, round, "", "", "Semis", 2)
matches = createMatchup(matches, weight, round, "", "", "Conso Semis", 1)
matches = createMatchup(matches, weight, round, "", "", "Conso Semis", 2)
round += 1
matches = createMatchup(matches, weight, round, "", "", "1/2", 1)
matches = createMatchup(matches, weight, round, "", "", "3/4", 1)
matches = createMatchup(matches, weight, round, "", "", "5/6", 1)
matches = createMatchup(matches, weight, round, "", "", "7/8", 1)
end
def twoPoolsToSemi()
createMatchup("Winner Pool 1", "Runner Up Pool 2", "Semis", 1)
createMatchup("Winner Pool 2", "Runner Up Pool 1", "Semis", 2)
next_round
createMatchup("","","1/2",1)
createMatchup("","","3/4",1)
end
def fourPoolsToSemi(matches,weight,round)
round += 1
matches = createMatchup(matches, weight, round, "Winner Pool 1", "Winner Pool 4", "Semis", 1)
matches = createMatchup(matches, weight, round, "Winner Pool 2", "Winner Pool 3", "Semis", 2)
matches = createMatchup(matches, weight, round, "Runner Up Pool 1", "Runner Up Pool 4", "Conso Semis", 1)
matches = createMatchup(matches, weight, round, "Runner Up Pool 2", "Runner Up Pool 3", "Conso Semis", 2)
round += 1
matches = createMatchup(matches, weight, round, "", "", "1/2", 1)
matches = createMatchup(matches, weight, round, "", "", "3/4", 1)
matches = createMatchup(matches, weight, round, "", "", "5/6", 1)
matches = createMatchup(matches, weight, round, "", "", "7/8", 1)
end
def twoPoolsToFinal()
createMatchup("Winner Pool 1", "Winner Pool 2", "1/2", 1)
createMatchup("Runner Up Pool 1", "Runner Up Pool 2", "3/4", 1)
end
def createMatchup(matches, weight, round, w1_name, w2_name, bracket_position, bracket_position_number)
tournament = weight.tournament
match = tournament.matches.create(
loser1_name: w1_name,
loser2_name: w2_name,
weight_id: weight.id,
round: round,
bracket_position: bracket_position,
bracket_position_number: bracket_position_number
)
matches << match
end
def fourPoolsToQuarter()
createMatchup("Winner Pool 1", "Runner Up Pool 2", "Quarter", 1)
createMatchup("Winner Pool 4", "Runner Up Pool 3", "Quarter", 2)
createMatchup("Winner Pool 2", "Runner Up Pool 1", "Quarter", 3)
createMatchup("Winner Pool 3", "Runner Up Pool 4", "Quarter", 4)
next_round
createMatchup("", "", "Semis", 1)
createMatchup("", "", "Semis", 2)
createMatchup("", "", "Conso Semis", 1)
createMatchup("", "", "Conso Semis", 2)
next_round
createMatchup("", "", "1/2", 1)
createMatchup("", "", "3/4", 1)
createMatchup("", "", "5/6", 1)
createMatchup("", "", "7/8", 1)
end
def fourPoolsToSemi()
createMatchup("Winner Pool 1", "Winner Pool 4", "Semis", 1)
createMatchup("Winner Pool 2", "Winner Pool 3", "Semis", 2)
createMatchup("Runner Up Pool 1", "Runner Up Pool 4", "Conso Semis", 1)
createMatchup("Runner Up Pool 2", "Runner Up Pool 3", "Conso Semis", 2)
next_round
createMatchup("", "", "1/2", 1)
createMatchup("", "", "3/4", 1)
createMatchup("", "", "5/6", 1)
createMatchup("", "", "7/8", 1)
end
def createMatchup(w1_name, w2_name, bracket_position, bracket_position_number)
@tournament.matches.create(
loser1_name: w1_name,
loser2_name: w2_name,
weight_id: @weight.id,
round: @round,
bracket_position: bracket_position,
bracket_position_number: bracket_position_number
)
end
end

View File

@@ -30,8 +30,10 @@ class Tournamentmatchgen
matches = Pool.new(weight).generatePools()
last_match = matches.sort_by{|m| m.round}.last
highest_round = last_match.round
@matches += Poolbracket.new.generateBracketMatches(matches, weight, highest_round)
Poolbracket.new(weight, highest_round).generateBracketMatches()
end
@tournament.save!
@matches = @tournament.matches
end
def generateMatches