Source code for rstt.ranking.standard.basicElo

from rstt.ranking import Ranking
from rstt.ranking.datamodel import KeyModel
from rstt.ranking.inferer import Elo
from rstt.ranking.observer import GameByGame
from rstt.stypes import SPlayer



[docs] class BasicElo(Ranking): def __init__(self, name: str, default: float = 1500, k: float = 20.0, lc: float = 400.0, base: float = 10.0, players: list[SPlayer] | None = None): """Simple Elo System Attributes ---------- datamodel: :class:`rstt.ranking.datamodel.KeyModel` (float as rating type) backend: :class:`rstt.ranking.inferer.elo.Elo` handler: :class:`rstt.ranking.observer.GameByGame` Parameters ---------- name : str, optional A name to identify the ranking, by default '' default : float, optional Datamodel parameter, a default elo rating, by default 1500.0 k : float, optional Backend parameter, the K value, by default 20.0 lc : float, optional Backend parameter, constant dividing the ratings difference in the expected score formula , by default 400.0 players : Optional[List[SPlayer]], optional Players to register in the ranking, by default None """ super().__init__(name=name, datamodel=KeyModel(default=default), backend=Elo(k=k, lc=lc, base=base), handler=GameByGame(), players=players)