

from visualiser import Visualiser

class Chimpanzee(object):
    def __init__(chimp, *instructions):
        chimp.visualiser = Visualiser((500, 500))
        flight_plan = instructions.__iter__()
        chimp.flight_plan = flight_plan
        chimp.next_instruction_time, values = flight_plan.next()

    def __call__(chimp, t, score, fuel_remaining, x, y, target_orbit_radius):
        chimp.visualiser.visualise(t, score, fuel_remaining, x, y, target_orbit_radius)
        chimp.visualiser.log(t, score, fuel_remaining, x, y, target_orbit_radius)

        if t == chimp.next_instruction_time:
            try:
                time, values = chimp.flight_plan.next()
                chimp.next_instruction_time = time
                return values
            except StopIteration:
                chimp.__call__ = lambda *a,**k: None
                return None
