1
0
mirror of https://github.com/jcwimer/wrestlingApp synced 2026-03-30 19:22:21 +00:00

Placement points added need to test

This commit is contained in:
2015-11-17 16:39:56 +00:00
parent 1aee738eb5
commit da6b95fed8
2 changed files with 130 additions and 1 deletions

View File

@@ -0,0 +1,125 @@
class PoolBracketTeamPointsCalc
def initialize(wrestler)
@wrestler = wrestler
@bracket = wrestler.weight.pool_bracket_type
end
def calcPoints
@points = 0
whilePointsAreZero { @points = finalMatchPoints }
if @bracket == "twoPoolsToSemi"
whilePointsAreZero { @points = twoPoolsToSemi }
end
if @bracket == "fourPoolsToQuarter"
whilePointsAreZero { @points = fourPoolsToQuarter }
end
if @bracket == "fourPoolsToSemi"
whilePointsAreZero { @points = fourPoolsToSemi }
end
return @points
end
def whilePointsAreZero
if @points == 0
yield
end
end
def bracket_position_size(bracket_position_name)
@wrestler.allMatches.select{|m| m.bracket_position == bracket_position_name}.size
end
def won_bracket_position_size(bracket_position_name)
@wrestler.matchesWon.select{|m| m.bracket_position == bracket_position_name}.size
end
def fourPoolsToQuarter
if bracket_position_size("Semis") > 0
return fourthPlace
end
if bracket_position_size("Quarter") > 0
return eighthPlace
end
return 0
end
def twoPoolsToSemi
if bracket_position_size("Semis") > 0
return fourthPlace
end
if bracket_position_size("Conso Semis") > 0
return eighthPlace
end
return 0
end
def fourPoolsToSemi
if bracket_position_size("Semis") > 0
return fourthPlace
end
if bracket_position_size("Conso Semis") > 0
return eighthPlace
end
return 0
end
def finalMatchPoints
if won_bracket_position_size("1/2") > 0
return firstPlace
end
if won_bracket_position_size("3/4") > 0
return thirdPlace
end
if won_bracket_position_size("5/6") > 0
return fifthPlace
end
if won_bracket_position_size("7/8") > 0
return seventhPlace
end
if bracket_position_size("1/2") > 0
return secondPlace
end
if bracket_position_size("3/4") > 0
return fourthPlace
end
if bracket_position_size("5/6") > 0
return sixthPlace
end
if bracket_position_size("7/8") > 0
return eighthPlace
end
return 0
end
def firstPlace
16
end
def secondPlace
12
end
def thirdPlace
10
end
def fourthPlace
9
end
def fifthPlace
7
end
def sixthPlace
6
end
def seventhPlace
4
end
def eighthPlace
3
end
end

View File

@@ -16,7 +16,11 @@ class Wrestler < ActiveRecord::Base
def totalTeamPoints
points = 0.0
points = points + (poolWins.size * 1) + (pinWins.size * 2) + (techWins.size * 1.5) + (majorWins.size * 1)
points = points + (poolWins.size * 1) + (pinWins.size * 2) + (techWins.size * 1.5) + (majorWins.size * 1) + placementPoints
end
def placementPoints
PoolBracketTeamPointsCalc.new(self).calcPoints
end
def totalDeductedPoints