mirror of
https://github.com/jcwimer/wrestlingApp
synced 2026-04-14 08:58:29 +00:00
Continuing pool bracket movements
This commit is contained in:
@@ -37,4 +37,9 @@ class Match < ActiveRecord::Base
|
|||||||
self.save
|
self.save
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
def poolNumber
|
||||||
|
if self.w1
|
||||||
|
Wrestler.find(self.w1).generatePoolNumber
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ class Pooladvance
|
|||||||
|
|
||||||
def advanceWrestler
|
def advanceWrestler
|
||||||
if self.wrestler.poolMatches.size > self.wrestler.finishedMatches.size
|
if self.wrestler.poolMatches.size > self.wrestler.finishedMatches.size
|
||||||
exit
|
return nil
|
||||||
end
|
end
|
||||||
poolToBracketAdvancment
|
poolToBracketAdvancment
|
||||||
bracketAdvancment
|
bracketAdvancment
|
||||||
@@ -22,7 +22,7 @@ class Pooladvance
|
|||||||
@poolWrestlers = self.wrestler.weight.wrestlers_for_pool(@pool)
|
@poolWrestlers = self.wrestler.weight.wrestlers_for_pool(@pool)
|
||||||
@poolWrestlers.each do |w|
|
@poolWrestlers.each do |w|
|
||||||
if w.finishedBracketMatches.size > 0
|
if w.finishedBracketMatches.size > 0
|
||||||
exit
|
return nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
#Move to correct spot in bracket from pool
|
#Move to correct spot in bracket from pool
|
||||||
@@ -49,8 +49,29 @@ class Pooladvance
|
|||||||
end
|
end
|
||||||
|
|
||||||
def bracketAdvancment
|
def bracketAdvancment
|
||||||
|
if self.wrestler.finishedBracketMatches.size == 0
|
||||||
|
return nil
|
||||||
|
end
|
||||||
#Move to next correct spot in bracket
|
#Move to next correct spot in bracket
|
||||||
|
@matches = self.wrestler.finishedMatches.sort_by{|m| m.round}.reverse
|
||||||
|
@last_match = @matches.first
|
||||||
|
if @last_match.winner_id == self.wrestler.id
|
||||||
|
winnerAdvance(@last_match)
|
||||||
|
end
|
||||||
|
if @last_match.winner_id != self.wrestler.id
|
||||||
|
loserAdvance(@last_match)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def winnerAdvance(last_match)
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
def loserAdvance(last_match)
|
||||||
|
@bout = last_match.bout_number
|
||||||
|
@next_match = Match.where("loser_name = ?","Loser of #{@bout}")
|
||||||
|
if @next_match.size > 0
|
||||||
|
@next_match.first.replaceLoserNameWithWrestler(self.wrestler,"Loser of #{@bout}")
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
@@ -131,6 +131,6 @@ class Weight < ActiveRecord::Base
|
|||||||
|
|
||||||
def poolOrder
|
def poolOrder
|
||||||
@wrestlers = self.wrestlers
|
@wrestlers = self.wrestlers
|
||||||
@wrestlers.sort_by{|w| w.poolWins}.reverse
|
@wrestlers.sort_by{|w| w.poolWins.count}.reverse!
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ class Wrestler < ActiveRecord::Base
|
|||||||
@pool = self.weight.returnPoolNumber(self)
|
@pool = self.weight.returnPoolNumber(self)
|
||||||
end
|
end
|
||||||
|
|
||||||
def boutByRound(round,matches)
|
def boutByRound(round)
|
||||||
@match = allMatches.select{|m| m.round == round}.first
|
@match = allMatches.select{|m| m.round == round}.first
|
||||||
if @match.blank?
|
if @match.blank?
|
||||||
return "BYE"
|
return "BYE"
|
||||||
@@ -36,7 +36,8 @@ class Wrestler < ActiveRecord::Base
|
|||||||
end
|
end
|
||||||
|
|
||||||
def poolMatches
|
def poolMatches
|
||||||
allMatches.select{|m| m.bracket_position == "Pool"}
|
@poolMatches = allMatches.select{|m| m.bracket_position == "Pool"}
|
||||||
|
@poolMatches.select{|m| m.poolNumber == self.generatePoolNumber}
|
||||||
end
|
end
|
||||||
|
|
||||||
def finishedMatches
|
def finishedMatches
|
||||||
@@ -67,4 +68,10 @@ class Wrestler < ActiveRecord::Base
|
|||||||
return 0
|
return 0
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def advanceInBracket
|
||||||
|
@advance = Pooladvance.new
|
||||||
|
@advance.wrestler = self
|
||||||
|
@advance.advanceWrestler
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
<% @round = 1 %>
|
<% @round = 1 %>
|
||||||
<% until @matches.select{|m| m.round == @round}.blank? %>
|
<% until @matches.select{|m| m.round == @round}.blank? %>
|
||||||
<% if @round <= @pools %>
|
<% if @round <= @pools %>
|
||||||
<td><%= w.boutByRound(@round,@matches) %><br>Result</td>
|
<td><%= w.boutByRound(@round) %><br>Result</td>
|
||||||
<% end %>
|
<% end %>
|
||||||
<% @round = @round + 1 %>
|
<% @round = @round + 1 %>
|
||||||
<% end %>
|
<% end %>
|
||||||
@@ -32,4 +32,4 @@
|
|||||||
</table>
|
</table>
|
||||||
<% @pool = @pool + 1 %>
|
<% @pool = @pool + 1 %>
|
||||||
<% @round = 1 %>
|
<% @round = 1 %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|||||||
53
test/integration/pool_advancement_test.rb
Normal file
53
test/integration/pool_advancement_test.rb
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
require 'test_helper'
|
||||||
|
|
||||||
|
class PoolAdvancementTest < ActionDispatch::IntegrationTest
|
||||||
|
test "the truth" do
|
||||||
|
assert true
|
||||||
|
end
|
||||||
|
|
||||||
|
def setup
|
||||||
|
@tournament = Tournament.find(1)
|
||||||
|
@tournament.generateMatchups
|
||||||
|
@matches = @tournament.matches.select{|m| m.weight_id == 3 && m.bracket_position == "Pool"}
|
||||||
|
nineManBracketPoolOne
|
||||||
|
@wrestlers = Wrestler.where("weight_id = ?", 3)
|
||||||
|
@wrestlers.each do |w|
|
||||||
|
w.advanceInBracket
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def nineManBracketPoolOne
|
||||||
|
endMatch(1002,"Guy8")
|
||||||
|
endMatch(1003,"Guy10")
|
||||||
|
endMatch(2002,"Guy2")
|
||||||
|
endMatch(2003,"Guy8")
|
||||||
|
endMatch(3003,"Guy2")
|
||||||
|
endMatch(4002,"Guy8")
|
||||||
|
endMatch(4003,"Guy2")
|
||||||
|
endMatch(5002,"Guy2")
|
||||||
|
endMatch(5003,"Guy5")
|
||||||
|
end
|
||||||
|
|
||||||
|
def endMatch(bout,winner)
|
||||||
|
@match = @matches.select{|m| m.bout_number == bout}.first
|
||||||
|
@match.finished = 1
|
||||||
|
@match.winner_id = translateNameToId(winner)
|
||||||
|
@match.win_type = "Decision"
|
||||||
|
@match.save
|
||||||
|
end
|
||||||
|
def translateNameToId(wrestler)
|
||||||
|
Wrestler.where("name = ?", wrestler).first.id
|
||||||
|
end
|
||||||
|
|
||||||
|
test "nine man outright finals advance" do
|
||||||
|
@wrestler = Wrestler.where("name = ?", "Guy2").first
|
||||||
|
assert_equal 6000, @wrestler.boutByRound(6)
|
||||||
|
end
|
||||||
|
|
||||||
|
test "nine man outright conso finals advance" do
|
||||||
|
@wrestler = Wrestler.where("name = ?", "Guy8").first
|
||||||
|
assert_equal 6001, @wrestler.boutByRound(6)
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
end
|
||||||
@@ -75,7 +75,7 @@ class PoolbracketMatchupsTest < ActionDispatch::IntegrationTest
|
|||||||
round = 1
|
round = 1
|
||||||
if w.totalRounds(matchups) > 5
|
if w.totalRounds(matchups) > 5
|
||||||
until round > w.poolRounds(matchups) do
|
until round > w.poolRounds(matchups) do
|
||||||
if wr.boutByRound(round, matchups) == "BYE"
|
if wr.boutByRound(round) == "BYE"
|
||||||
message = "BYE"
|
message = "BYE"
|
||||||
end
|
end
|
||||||
round += 1
|
round += 1
|
||||||
|
|||||||
Reference in New Issue
Block a user