def round_robin(iterations=None, players=[]):
    # Must have 2 or more players to play round robin!
    if len(players) >= 2:
        if iterations is None:
            iterations = random.randint(100, 150)

        gm = Gamemaster(iterations=iterations)

        for player in players:
            gm.add_player(*player)

        gm.generate_matches()

        gm.start_tournament()

        # d = gm.get_overall_points()
        # for v in sorted(d, key=d.get, reverse=False):
        #     print v, d[v]

        output = {
            'points': gm.get_overall_points(),
            'winner': gm.get_winner(),
            'results': gm.get_match_results()
        }

    else:
        output = {
            'points': {},
            'winner': None,
            'results': []
        }

    return output
# http://www.lifl.fr/IPD/ipd.html.en

from Player import Player
from Gamemaster import Gamemaster
import random

gm = Gamemaster(iterations=random.randint(100, 150))

gm.add_player(1, 'def decide(): return "D"')
gm.add_player(2, 'def decide(): return "C"')

gm.generate_matches()

gm.start_tournament()

d = gm.get_overall_points()
for v in sorted(d, key=d.get, reverse=False):
  print v, d[v]

winner = gm.get_winner()
print 'The winner is ', winner