+
+ def handle_event(self, ev):
+ if self.state.gameboard.player_mode == ACT:
+ return super(RobotWidget, self).handle_event(ev)
+ if ev.type == pgl.KEYDOWN:
+ if ev.key in KEYS.UP:
+ if self.state.player.move(BITS.NORTH):
+ self.state.gameboard.change_mode()
+ return finish_event()
+ if ev.key in KEYS.DOWN:
+ if self.state.player.move(BITS.SOUTH):
+ self.state.gameboard.change_mode()
+ return finish_event()
+ if ev.key in KEYS.LEFT:
+ if self.state.player.move(BITS.WEST):
+ self.state.gameboard.change_mode()
+ return finish_event()
+ if ev.key in KEYS.RIGHT:
+ if self.state.player.move(BITS.EAST):
+ self.state.gameboard.change_mode()
+ return finish_event()
+ if ev.key in (pgl.K_SPACE,):
+ self.state.gameboard.change_mode()
+ return finish_event()
+ return super(RobotWidget, self).handle_event(ev)