# -*- coding: utf-8 -*-

def run_simulation( simulation, configuration, controller ):
    simulation.input[0x3e80] = configuration
    t = 0
    for ports in simulation:
        port_values = [simulation.port[p] for p in range(0,5)]
        score, fuel_remaining, x, y, target_orbit_radius = port_values

        if controller:
            values = controller(t, *port_values)
            if values:
                for input_port, value in values.items():
                    simulation.input[input_port] = value
        if score:
            print "Score: ", score
            return score
        t += 1

