| ESL Calculator |
Die Berechnung der Punkte wird in der ESL
nach dem Elo-Prinzip durchgeführt. Dieses Prinzip soll sicherstellen, dass man
innerhalb weniger Spiele eine
adäquate Plazierung erreicht.
Der hier vorliegende ESL-Calculator fußt im groben auf der Beschreibung in den
FAQ-Seiten der ESL.
Dort können auch weiterführende Links zur Elo-Berechnung gefunden werden.
|
|
| How to use |
Unter Points sind die Punkte der beiteiligten Teams anzugegeben.
Sie werden in den Laddern neben dem Rang gelistet.
In den Eingabefeldern Wins ist das Spielergebnis zu vermerken, wobei
zwischen den Spielmodi CO (Charges Only) und MR (Max Rounds) unterschieden werden
muss. Im Falle eines CO-Spieles darf nur die Anzahl der gewonnenen Angreiferrunden
(auf de_Maps die T-Siege, auf cs_maps die CT-Siege) eingetragen werden. Bei einem
MR-Spiel zählen hingegen alle Runden (T- und CT-Siege werden zusammengezählt).
Mit Enter wird der neue Punktestand berechnet.
Der darausfolgende Rang in der Ladder kann nicht berechnet werden,
da er sich aus der Punktesortierung aller Teams ergibt - und diese
ändert sich ja alle drei Minuten. :-)
D.h. man muss per Hand in der Ladder blättern und schauen, wo man mit
dem neuen Punktestand einsortiert
werden würde.
|
|
Berechnung
|
Der Rechner wurde nach bestem Wissen und Gewissen gestrickt. Eine Gewährleistung für
die Richtigkeit der ermittelten Daten kann jedoch nicht übernommen werden.
Der PHP-Code sieht folgendmaßen aus:
0001 if ($_POST['submit'])
0002 {
0003 // typenwandlung
0004 $own_wins_map_1 = (int)$_POST['own_wins_map_1'];
0005 $opp_wins_map_1 = (int)$_POST['opp_wins_map_1'];
0006 $own_wins_map_2 = (int)$_POST['own_wins_map_2'];
0007 $opp_wins_map_2 = (int)$_POST['opp_wins_map_2'];
0008 $p_own = (int)$_POST['p_own'];
0009 $p_opp = (int)$_POST['p_opp'];
0010
0011 // elo-konstanten (esl)
0012 $c1 = 50;
0013 $c2 = 400;
0014
0015 $own_wins = $own_wins_map_1 + $own_wins_map_2;
0016 $opp_wins = $opp_wins_map_1 + $opp_wins_map_2;
0017 $wins = $opp_wins + $own_wins;
0018
0019 // eigener anteil und div 0 vorbeugen
0020 $own_percent_wins = ( $wins == 0 ) ? 0 : $own_wins / $wins;
0021
0022 $expected = 1 / ( 1 + pow( 10, ( $p_opp - $p_own ) / $c2 ));
0023 $added_p_own = round( $c1 * ( $own_percent_wins - $expected ));
0024 $added_p_opp = $added_p_own * ( -1 );
0025
0026 $new_p_own = $p_own + $added_p_own;
0027 $new_p_opp = $p_opp + $added_p_opp;
0028 }
0029 else
0030 {
0031 //start up
0032 $p_own = 1000;
0033 $p_opp = 1000;
0034
0035 $own_wins_map_1 = 1;
0036 $opp_wins_map_1 = 1;
0037 $own_wins_map_2 = 1;
0038 $opp_wins_map_2 = 1;
0039
0040 $added_p_own = 0;
0041 $added_p_opp = 0;
0042 $new_p_own = 1000;
0043 $new_p_opp = 1000;
0044 }
|
|
Download
|
ggf_esl_calculator.txt (5 KB)
|
|
Weitere ESL Calculatoren
|
Alternative ESL-Rechner sind u.a. zu finden bei:
|
|
Credits
|
|