work on xmlrate.rb
This commit is contained in:
1 parent
8e46e2c58d
commit
608f7b693a
2 files changed
+16
-4
No files matched your search
@@ -23,5 +23,6 @@ class TestGlicko2 < Test::Unit::TestCase
|
|||||||
assert_in_delta(1464.05,a.rating,0.01)
|
assert_in_delta(1464.05,a.rating,0.01)
|
||||||
assert_in_delta(151.516,a.deviation,0.01)
|
assert_in_delta(151.516,a.deviation,0.01)
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
+15
-4
@@ -1,5 +1,6 @@
|
|||||||
|
|
||||||
require "rexml/document"
|
require "rexml/document"
|
||||||
|
require "glicko2"
|
||||||
|
|
||||||
file = File.new( "../py/data/hockey-2005.xml" )
|
file = File.new( "../py/data/hockey-2005.xml" )
|
||||||
|
|
||||||
@@ -8,6 +9,8 @@ doc = REXML::Document.new(file)
|
|||||||
# each rating doc
|
# each rating doc
|
||||||
doc.elements.each("ratingdoc") do |root|
|
doc.elements.each("ratingdoc") do |root|
|
||||||
|
|
||||||
|
players = Hash.new
|
||||||
|
|
||||||
# each player
|
# each player
|
||||||
root.elements.each("player") do |player|
|
root.elements.each("player") do |player|
|
||||||
|
|
||||||
@@ -27,6 +30,7 @@ doc.elements.each("ratingdoc") do |root|
|
|||||||
variance = player.elements["variance"].text
|
variance = player.elements["variance"].text
|
||||||
end
|
end
|
||||||
|
|
||||||
|
players[name] = Glicko2.new(rating.to_f,deviation.to_f,variance.to_f)
|
||||||
puts name,rating,deviation,variance
|
puts name,rating,deviation,variance
|
||||||
puts
|
puts
|
||||||
|
|
||||||
@@ -37,10 +41,13 @@ doc.elements.each("ratingdoc") do |root|
|
|||||||
|
|
||||||
# each regular game
|
# each regular game
|
||||||
period.elements.each("game") do |game|
|
period.elements.each("game") do |game|
|
||||||
puts "home",game.elements["home"].text
|
|
||||||
puts "away",game.elements["away"].text
|
home = game.elements["home"].text
|
||||||
puts "result",game.elements["result"].text
|
away = game.elements["away"].text
|
||||||
puts
|
result = game.elements["result"].text
|
||||||
|
|
||||||
|
players[home].add_result( players[away], result.to_f )
|
||||||
|
players[away].add_result( players[home], 1.0 - result.to_f )
|
||||||
end
|
end
|
||||||
|
|
||||||
# each race
|
# each race
|
||||||
@@ -51,6 +58,10 @@ doc.elements.each("ratingdoc") do |root|
|
|||||||
puts
|
puts
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# update all players
|
||||||
|
players.each_value { |p| p.update }
|
||||||
|
players.each { |p,r| puts p,r.rating }
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in new issue
Block a user