Beispiel #1
0
 def startup(self):
     strategy = StrategyRegistry.get('STRAT_1')
     self.sm = StateMachine(strategy.get_states())
     self.sm.bus.register('change', self.state_changed)
     self.sm.bus.register('error', self.state_error)
     self.sm.bus.register('finish', self.state_finished)
     self.sm.bus.register('interrupt', self.state_interrupted)
     EventBus.GLOBAL.register('markers', self.handle_markers)
     EventBus.GLOBAL.register('bump', self.handle_bump)
     EventBus.GLOBAL.register('__bus_error__', self.handle_bus_error)
     self.sm.bus.register('__bus_error__', self.handle_bus_error)
     self.reset()
     strategy.set_game_util(self)
     for state in self.sm.next_state():
         self.sm.change_state(state)
    def startup(self):
        self.state = StateMachine({
            "START": self.preset_start,
            "SEARCH_SLOT": self.search_slot,
            "DRIVE_TO_SLOT": self.drive_to_slot,
            "PLACE_TOKEN": self.place_token,
            "TURN_TO_TOKEN": self.next_token,
            "SEARCH_TOKEN": self.search_token,
            "DRIVE_TO_TOKEN": self.drive_to_token,
            "PICK_TOKEN": self.pickup_token,
            "TURN_TO_SLOT": self.next_slot
        })

        self.state.bind('change', self.state_changed)
        self.state.bind('error', self.state_error)
        self.state.bind('finish', self.state_finished)
        self.state.bind('interrupt', self.state_interrupted)
        self.on_interrupt = None
        self.reset()
        for state in self.state.next_state():
            self.state.change_state(state)