def evolution(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