diff --git a/elo.py b/elo.py index 7678f65..347a4f2 100644 --- a/elo.py +++ b/elo.py @@ -5,9 +5,6 @@ from elo_tracker import EloTracker from pyclient.games import TicTacToe -import pyclient -import time - GAME_FILE = "games.jsonl" PLAYER_FILE = "known_players.json" @@ -20,14 +17,14 @@ def main() -> int: tracker.start_periodic_matches( game=TicTacToe.empty(), - interval_seconds=60, + interval_seconds=10 * 60, player_count=2, ) try: - while True: - pass + tracker.start_server(import_name=__name__) except KeyboardInterrupt: + print("Noticed KeyboardInterrupt, stopping match daemon...") tracker.stop_periodic_matches() return 0 diff --git a/elo_tracker/app.py b/elo_tracker/app.py index ce02e35..e7ee5e9 100644 --- a/elo_tracker/app.py +++ b/elo_tracker/app.py @@ -206,7 +206,7 @@ class Match: participants : list[tuple[PlayerIdentifier, FinishState]] = [] for i, agent in enumerate(players): - finish_state = results.get(i, None) + finish_state = results.get(i + 1, None) if finish_state is None: continue @@ -395,6 +395,9 @@ class EloTracker: rating_1 = self.__get_stat(player_id=player_id1).elo for player_id2, result2 in m.participants: + if player_id1 == player_id2: + continue + rating_2 = self.__get_stat(player_id=player_id2).elo expected_score = 1 / (1 + 10 ** ((rating_2 - rating_1) / STD_DEV_DIFF)) @@ -583,7 +586,7 @@ class EloTracker: :rtype: pyclient.GameReplay :raises ValueError: One of the URLs could not be accessed. """ - agents = [ + agents : list[Any] = [ pyclient.Agent.from_url(url, debug=self.debug) for url in players ] diff --git a/known_players.json b/known_players.json index cf92b60..62f409e 100644 --- a/known_players.json +++ b/known_players.json @@ -1,5 +1,6 @@ { "players": [ - "https://bmt001.noordstar.me" + "https://bmt001.noordstar.me", + "https://bmt002.noordstar.me" ] } \ No newline at end of file