Exemple #1
0
    def __init__(self,
                 left_button=None,
                 left_led=None,
                 right_button=None,
                 right_led=None,
                 track=None,
                 strawberry_factory=None,
                 chocolate_factory=None):

        self.buttons_locked = False
        self.micro_lock = threading.Lock()

        self.pending_cookies = Queue.Queue()

        self.left_button = left_button
        self.left_button.register(self.button_pressed)
        self.left_led = left_led
        self.left_led.off()

        self.right_button = right_button
        self.right_button.register(self.button_pressed)
        self.right_led = right_led
        self.right_led.off()

        self.track = track
        self.strawberry_factory = strawberry_factory
        self.chocolate_factory = chocolate_factory

        self.evolution = Evolution()

        self._fsm = Fysom(initial='waiting',
                          events=[('reproduce', 'waiting', 'waiting')],
                          callbacks=[('on_state_waiting', self._unlock),
                                     ('onreproduce', self._reproduce)])
Exemple #2
0
def run_simulation():
    logformat = "%(asctime)s %(levelname)s [%(name)s][%(threadName)s] %(message)s"
    logging.basicConfig(format=logformat, level=logging.DEBUG)

    evolution = Evolution()
    while (True):
        time.sleep(20)
        anc = random.choice(evolution.ancestors)
        evolution.next(anc.last())
Exemple #3
0
 def setup_method(self, method):
     self.evolution = Evolution()