Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Chess::Elo 0.02

Date Added: August 15, 2010  |  Visits: 655

Chess::Elo is a Perl module to calculate Chess "Elo" ratings. SYNOPSIS use Chess::Elo qw(:all); # Alice is going to thump Bob... my (\$alice_elo, \$bob_elo) = (2100, 1200); # Oh no, Alice lost to Bob! my \$result = 0; # 0.5 for draw, 1 for win my @new_elo_alice_bob = elo (\$alice, 0, \$bob); use Data::Dumper; warn Dumper(@new_elo_alice_bob); [ 2068.17894295388, # My, Alice took a hit on her rating :) 1231.82105704612 # Bob is setting pretty ]; This module provides a single function, elo which allows one to calculate individual ratings based on performance. Typically, a player is given an initial provisional rating of 1600 points. In all cases, one gains and loses points as a function of the playing strength of both parties and the result of their encounter. The formula used is the same one used at magi-nation: http://www.magi-nation.com/Tournaments/ratingsfaq.htm Or, quantitatively speaking: A2 = A1 + 32 ( G - ( 1 / ( 1 + 10 ** ( ( B1 -A1) / 400 ) ) ) ) A2 is Alices post-game rating A1 is Alice rating before the game against Bob B1 is Bobs rating before the game against Alice G is the game result, in this case: 1, if A beats B 0, if A loses to B 0.5, if A draws to B METHODS (\$new_a, \$new_b) = elo(\$elo_a, \$result, \$elo_b) This function takes 3 arguments describing the result of a person with rating \$elo_a competing with the person with rating \$elo_b. The result argument is from the perspective of person A. Thus if A won \$result is 1. If A lost, \$result is 0. If A drew, \$result is 0.5. EXPORT None by default, elo upon request..

 Requirements: No special requirements Platforms: Linux Keyword: Alice,  Bob,  Chesselo,  Elo,  If A,  Libraries,  Perl Module,  Programming,  Rating,  Result Users rating: 0/10