Skip to content

ELO score calculator for more than two players written in Python

License

Notifications You must be signed in to change notification settings

qwhex/multi_elo

Repository files navigation

multi_elo

Build Status

Python ELO score calculator for more than two players. It can be used e.g. for a 4 player multiplayer match and for team-based games as well.

Install

pip install multi_elo

Compatibility

Python 3.5+

Usage

from random import randint
from multi_elo import EloPlayer, calc_elo

# Generate players with random ELO.
# It can be a list of any elements having the `place` and `elo` properties.
elo_players = [EloPlayer(place=place, elo=randint(1200, 1800))
               for place in range(1, 5)]

print('Original ELO scores:')
for player in enumerate(elo_players, start=1):
    print(f'{i}: #{player.place} ({player.elo})')

# Set the K factor (optional)
k_factor = 16

# Calculate new ELO scores
new_elos = calc_elo(elo_players, k_factor)

print('\nNew ELO scores:')
for i, new_elo in enumerate(new_elos, start=1):
    print(f'{i}: {new_elo}')

Development

# install dependencies
pip install requirements_dev.txt

# run tests with all of the supported python interpreters
tox

# or only with the currently active python interpreter
pytest

About

ELO score calculator for more than two players written in Python

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published