Elo punkte berechnung

Dieses Thema im Forum "Webentwicklung" wurde erstellt von DerFreak, 5. September 2006 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #1 5. September 2006
    Hallo und zwar haben wir ein elo system für die ladder bekommen,und zwar läuft das auch soweit ,doch nur mal kommt bei der ergebnis rechnug immer das selbe raus 12+ sieg -12niederlage

    lauf coder sollte die rechnung so ablaufen


    Anhand der Wahrscheinlichkeit kommen dann die Punkte zustande:
    [quode]
    NEUE PUNKTE = ALTE PUNKTE + Wahrscheinlichkeit * KONSTANTE;
    [/quode]

    das ja nicht der fall ist

    kan mir jemand sagen ob hier alles okay ist oder wo könnte der wurm stecken?

    <?php
    # ================================ Copyright 2005-2006 FCL. ==========================
    # FCL
    #
    # Purpose: Calculator - standard elo
    # ================================================================================================================


    /**
    * compute points basing on standard elo system
    *
    * @param global_vars_t $oVars
    * @param array $params
    */

    function callback( $oVars, $params )
    {
    /*
    ARRAY $params
    --------------------
    integer challenger_points :
    integer opponent_points :
    integer winner : 'challenger' / 'opponent' / ''
    match_results_t match-results : match-result data
    integer data : unspecified data


    --------------------
    1 -> WIN
    0.5 -> DRAW
    0 -> LOSE
    */

    $R_CHALLENGER = (int)$params['challenger_points'];
    $R_OPPONENT = (int)$params['opponent_points'];
    $k = 23; //$params['k'];
    $DIV = 398; //$params['div']

    $R2_CHALLENGER = 0; # new challenger points / after evaluation
    $R2_OPPONENT = 0; # new challenger points / after evaluation


    $Ea = 1/( 1 + pow(10 , ($R_CHALLENGER-$R_OPPONENT)/$DIV) );

    #---------------------------------------------
    # CHALLENGER WINS
    #---------------------------------------------
    if( $params['winner'] == 'challenger' )
    {
    $R2_CHALLENGER = round( $k* (1 - $Ea) );
    $R2_OPPONENT = round( $k* (0 - $Ea) );
    }
    #---------------------------------------------
    # OPPONENT WINS
    #---------------------------------------------
    elseif( $params['winner'] == 'opponent' )
    {
    $R2_CHALLENGER = round( $k* (0 - $Ea) );
    $R2_OPPONENT = round( $k* (1 - $Ea) );
    }
    #---------------------------------------------
    # NOONE WINS
    #---------------------------------------------
    elseif( $params['winner'] == '' )
    {
    $R2_CHALLENGER = round( $k* (0.5 - $Ea) );
    $R2_OPPONENT = round( $k* (0.5 - $Ea) );
    }

    return array( 'challenger_points' => $R_CHALLENGER+$R2_CHALLENGER,
    'opponent_points' => $R_OPPONENT+$R2_OPPONENT,

    'challenger_points_diff' => $R2_CHALLENGER,
    'opponent_points_diff' => $R2_OPPONENT,
    );
    }

    ?>
     

  2. Anzeige

  3. Videos zum Thema
Die Seite wird geladen...