-
- 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(events=[PlayerMoved])
- if ev.key in KEYS.DOWN:
- if self.state.player.move(BITS.SOUTH):
- self.state.gameboard.change_mode()
- return finish_event(events=[PlayerMoved])
- if ev.key in KEYS.LEFT:
- if self.state.player.move(BITS.WEST):
- self.state.gameboard.change_mode()
- return finish_event(events=[PlayerMoved])
- if ev.key in KEYS.RIGHT:
- if self.state.player.move(BITS.EAST):
- self.state.gameboard.change_mode()
- return finish_event(events=[PlayerMoved])
- if ev.key in (pgl.K_SPACE,):
- self.state.gameboard.change_mode()
- return finish_event()
- return super(RobotWidget, self).handle_event(ev)