def run_match(bot1, bot2): #rgkit integration runner = Runner(player_files=(bot1,bot2), options=Options(quiet=4, game_seed=random.randint(0, default_settings.max_seed))) scores0, scores1 = runner.run()[0] if scores0 > scores1: return (scores0, scores1, scores0 - scores1, bot1) elif scores1 > scores0: return (scores0, scores1, scores1 - scores0, bot2) else: return (scores0, scores1, 0,'tie')
#!/usr/bin/python from evolution_bot import ScoredPerceptron, Robot, Collective from rgkit.run import Runner, Options from rgkit.game import Player snapshots = [1000, 2000, 3000, 4000, 5000] for t in snapshots: loadfile0 = "evolved_brains/sim0/red/perceptron_100_25_10_turn%d_gen0.npz" % (t - 1) loadfile1 = "evolved_brains/sim0/blue/perceptron_100_25_10_turn%d_gen0.npz" % (t - 1) try: brain0 = ScoredPerceptron.load(loadfile0) pop0 = Collective(1, 0, 0, [brain0]) robot0 = Robot(pop0) player0 = Player(name="red %d" % t, robot=robot0) brain1 = ScoredPerceptron.load(loadfile1) pop1 = Collective(1, 0, 0, [brain1]) robot1 = Robot(pop1) player1 = Player(name="blu %d" % t, robot=robot1) opts = Options(print_info=True) r = Runner(players=[player0, player1], options=opts) r.run() except: print "failed to run turn %d" % t
def run(self, number_of_games=1): runner = Runner(player1_file=self.player_file, player2_file=self.opponent_file, delta_callback=self._delta_callback) runner.options.n_of_games = number_of_games runner.run()