-
- 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 (pgl.K_UP, pgl.K_w, pgl.K_COMMA):
- if self.state.player.move(BITS.NORTH):
- self.state.gameboard.change_mode()
- InvalidateTheWorld.post()
- return True
- if ev.key in (pgl.K_DOWN, pgl.K_s, pgl.K_o):
- if self.state.player.move(BITS.SOUTH):
- self.state.gameboard.change_mode()
- InvalidateTheWorld.post()
- return True
- if ev.key in (pgl.K_LEFT, pgl.K_a):
- if self.state.player.move(BITS.WEST):
- self.state.gameboard.change_mode()
- InvalidateTheWorld.post()
- return True
- if ev.key in (pgl.K_RIGHT, pgl.K_d, pgl.K_e):
- if self.state.player.move(BITS.EAST):
- self.state.gameboard.change_mode()
- InvalidateTheWorld.post()
- return True
- if ev.key in (pgl.K_SPACE,):
- self.state.gameboard.change_mode()
- InvalidateTheWorld.post()
- return True
- return super(RobotWidget, self).handle_event(ev)