2019-03-27 17:23:04 +01:00
|
|
|
import datetime
|
2019-03-29 12:52:03 +01:00
|
|
|
from settings import elo_default_k
|
2019-03-27 17:23:04 +01:00
|
|
|
|
|
|
|
|
2019-03-29 12:52:03 +01:00
|
|
|
def debug(msg: str) -> None:
|
2019-03-27 17:23:04 +01:00
|
|
|
print("[" + datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S') + "]: " + msg)
|
2019-03-29 12:52:03 +01:00
|
|
|
|
|
|
|
|
|
|
|
def elo_p_win(player_elo: int, opponent_elo: int) -> float:
|
|
|
|
return (1 / (1 + 10**((opponent_elo - player_elo)/400)))
|
|
|
|
|
|
|
|
|
|
|
|
def elo_update(old_elo: int, single_game_result: float, expected_result: float, k: float = elo_default_k) -> int:
|
|
|
|
new_elo = old_elo + k * (single_game_result - expected_result)
|
|
|
|
return round(new_elo)
|