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

Made onePool and twoPool views. Also implemented round robin gem.

This commit is contained in:
2015-02-05 09:53:08 -05:00
parent 7183935b60
commit e9cf73f9d5
6 changed files with 132 additions and 52 deletions

View File

@@ -50,6 +50,8 @@ gem 'spring', group: :development
gem 'bootstrap-sass', '2.3.2.0'
gem 'devise'
gem 'cancan'
gem 'round_robin_tournament'
gem 'rb-readline'

View File

@@ -28,7 +28,7 @@ GEM
thread_safe (~> 0.1)
tzinfo (~> 1.1)
arel (5.0.1.20140414130214)
bcrypt (3.1.9)
bcrypt (3.1.10)
bootstrap-sass (2.3.2.0)
sass (~> 3.2)
builder (3.2.2)
@@ -39,7 +39,7 @@ GEM
coffee-script (2.3.0)
coffee-script-source
execjs
coffee-script-source (1.8.0)
coffee-script-source (1.9.0)
devise (3.4.1)
bcrypt (~> 3.0)
orm_adapter (~> 0.1)
@@ -48,7 +48,7 @@ GEM
thread_safe (~> 0.1)
warden (~> 1.2.3)
erubis (2.7.0)
execjs (2.2.2)
execjs (2.3.0)
hike (1.2.3)
i18n (0.7.0)
jbuilder (2.2.6)
@@ -57,19 +57,19 @@ GEM
jquery-rails (3.1.2)
railties (>= 3.0, < 5.0)
thor (>= 0.14, < 2.0)
json (1.8.1)
json (1.8.2)
mail (2.5.4)
mime-types (~> 1.16)
treetop (~> 1.4.8)
mime-types (1.25.1)
minitest (5.5.0)
minitest (5.5.1)
multi_json (1.10.1)
mysql2 (0.3.17)
orm_adapter (0.5.0)
pg (0.17.1)
pg (0.18.1)
polyglot (0.3.5)
rack (1.5.2)
rack-test (0.6.2)
rack-test (0.6.3)
rack (>= 1.0)
rails (4.1.4)
actionmailer (= 4.1.4)
@@ -84,7 +84,7 @@ GEM
rails_12factor (0.0.3)
rails_serve_static_assets
rails_stdout_logging
rails_serve_static_assets (0.0.2)
rails_serve_static_assets (0.0.4)
rails_stdout_logging (0.0.3)
railties (4.1.4)
actionpack (= 4.1.4)
@@ -92,10 +92,11 @@ GEM
rake (>= 0.8.7)
thor (>= 0.18.1, < 2.0)
rake (10.4.2)
rb-readline (0.5.2)
rdoc (4.2.0)
json (~> 1.4)
responders (1.1.2)
railties (>= 3.2, < 4.2)
round_robin_tournament (0.0.1)
sass (3.2.19)
sass-rails (4.0.5)
railties (>= 4.0.0, < 5.0)
@@ -111,7 +112,7 @@ GEM
multi_json (~> 1.0)
rack (~> 1.0)
tilt (~> 1.1, != 1.3.0)
sprockets-rails (2.2.2)
sprockets-rails (2.2.4)
actionpack (>= 3.0)
activesupport (>= 3.0)
sprockets (>= 2.8, < 4.0)
@@ -126,7 +127,7 @@ GEM
coffee-rails
tzinfo (1.2.2)
thread_safe (~> 0.1)
uglifier (2.6.0)
uglifier (2.7.0)
execjs (>= 0.3.0)
json (>= 1.8.0)
warden (1.2.3)
@@ -146,6 +147,8 @@ DEPENDENCIES
pg
rails (= 4.1.4)
rails_12factor
rb-readline
round_robin_tournament
sass-rails (~> 4.0.3)
sdoc (~> 0.4.0)
spring

View File

@@ -45,27 +45,51 @@ class Pool
roundRobin(4,tournament,weight_id)
end
def roundRobin(pool,tournament,weight_id)
@wrestlers = Wrestler.where(weight_id: weight_id, poolNumber: pool)
@wrestlers.sort_by{|x|[x.original_seed]}.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
def roundRobin(pool,tournament_id,weight_id)
@wrestlers = Wrestler.where(weight_id: weight_id, poolNumber: pool).to_a
@poolMatches = RoundRobinTournament.schedule(@wrestlers)
@poolMatches.each_with_index do |b,index|
@bout = b.map
@bout.each do |b|
if b[0] != nil and b[1] != nil
# puts "Start Map Here"
# puts b[0].name
# puts " vs "
# puts b[1].name
# puts "Round "
# puts index + 1
@match = Match.new
@match.r_id = b[0].id
@match.g_id = b[1].id
@match.tournament_id = tournament_id
@match.round = index + 1
@match.save
end
end
end
end
# def roundRobin(pool,tournament,weight_id)
# @wrestlers = Wrestler.where(weight_id: weight_id, poolNumber: pool)
# @wrestlers.sort_by{|x|[x.original_seed]}.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
# def createMatch(w1,w2,tournament)
# @match = Match.new
# @match.r_id = w1
# @match.g_id = w2
# @match.tournament_id = tournament
# @match.save
# end
end

View File

@@ -3,7 +3,11 @@ class Tournament < ActiveRecord::Base
has_many :weights, dependent: :destroy
has_many :matches, dependent: :destroy
has_many :mats, dependent: :destroy
attr_accessor :upcomingMatches
attr_accessor :upcomingMatches, :unfinishedMatches
def self.unfinishedMatches
end
def upcomingMatches
@matches = Match.where(tournament_id: self.id)
@@ -17,7 +21,7 @@ class Tournament < ActiveRecord::Base
self.weights.each do |weight|
weight.generatePool
end
assignRound
# assignRound
assignBouts
end
@@ -28,34 +32,13 @@ class Tournament < ActiveRecord::Base
end
end
def assignRound
@matches = Match.where(tournament_id: self.id)
@matches.sort_by{|x|[x.id]}
@matches.each do |match|
@round = 1
@w1 = Wrestler.find(match.r_id)
@w2 = Wrestler.find(match.g_id)
until wrestlingThisRound(@w1,@w2,@round) == false do
@round += 1
end
match.round = @round
match.save
end
end
def assignBouts
@bouts = Bout.new
@bouts.assignBouts(self.id)
end
def wrestlingThisRound(w1,w2,round)
if w1.isWrestlingThisRound(round) == true or
w2.isWrestlingThisRound(round) == true
return true
else
return false
end
end
end

View File

@@ -0,0 +1,25 @@
<h5>Pool 1</h5>
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>Name</th>
<th>R1</th>
<th>R2</th>
<th>R3</th>
<th>R4</th>
<th>R5</th>
</tr>
</thead>
<tbody>
<% @poolOneWrestlers.each do |w| %>
<tr>
<td><%= w.name %> <%= w.season_win %>-<%= w.season_loss %> <%= w.school.name %></td>
<td><%= w.boutByRound(1) %><br>Result</td>
<td><%= w.boutByRound(2) %></td>
<td><%= w.boutByRound(3) %></td>
<td><%= w.boutByRound(4) %></td>
<td><%= w.boutByRound(5) %></td>
</tr>
<% end %>
</tbody>
</table>

View File

@@ -0,0 +1,43 @@
<h5>Pool 1</h5>
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>Name</th>
<th>R1</th>
<th>R2</th>
<th>R3</th>
</tr>
</thead>
<tbody>
<% @poolOneWrestlers.each do |w| %>
<tr>
<td><%= w.name %> <%= w.season_win %>-<%= w.season_loss %> <%= w.school.name %></td>
<td><%= w.boutByRound(1) %><br>Result</td>
<td><%= w.boutByRound(2) %></td>
<td><%= w.boutByRound(3) %></td>
</tr>
<% end %>
</tbody>
</table>
<h5>Pool 2</h5>
<table class="table table-striped table-bordered">
<thead>
<tr>
<th>Name</th>
<th>R1</th>
<th>R2</th>
<th>R3</th>
</tr>
</thead>
<tbody>
<% @poolTwoWrestlers.each do |w| %>
<tr>
<td><%= w.name %> <%= w.season_win %>-<%= w.season_loss %> <%= w.school.name %></td>
<td><%= w.boutByRound(1) %><br>Result</td>
<td><%= w.boutByRound(2) %></td>
<td><%= w.boutByRound(3) %></td>
</tr>
<% end %>
</tbody>
</table>