Пример #1
0
    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
Пример #2
0
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'))