def lift(self, lines): best_points = 0 best_commands = '' count = 0 while True: l = Lifter() l.emu = Emulator(lines) l.emu.suppress_prints = True commands = l.createCommands() time_out, commands, points = l.time_out, commands, l.emu.points if best_points < points: best_points = points best_commands = commands if time_out: if not self.hide_print: print best_commands sys.stdout.flush() break return best_commands
def evaluate(): #Set this color as the default print white, '' maps_list = glob.glob('maps/*.map') maps_list.sort() maps_points = {} maps_points_old = {} if os.path.exists(cache_file): maps_points_old = pickle.load(open(cache_file, 'r')) for map_file in maps_list: lifterEmu = Emulator(open(map_file, 'r'), '') lifterEmu.suppress_prints = True lifterEmu.print_points = False l = Lifter() l.emu = lifterEmu commands = l.createCommands() emu = Emulator(open(map_file, 'r'), commands) emu.suppress_prints = True emu.print_points = False while not emu.quit: emu.processCommand() points = emu.points maps_points[map_file] = points delta_points = 0 delta_value = '' #Check cache... old_points = maps_points_old.get(map_file) if old_points: delta_points = points - old_points if old_points > points: color = red elif old_points < points: delta_value = '+' color = green else: color = brown else: color = brown if delta_points == 0: delta_points = '' print map_file, '\t' + color + str(points) + ' ' + delta_value + str(delta_points) + white #Dump to the cache pickle.dump(maps_points, open(cache_file, 'w'))