"""Widget to draw the player on the screen"""
-import pygame.locals as pgl
-
-from naja.constants import PLAYER_SIZE, BIT_SIZE, TILE_SIZE, BITS, ACT, KEYS
-from naja.events import PlayerMoved, finish_event
+from naja.constants import (PLAYER_SIZE, BIT_SIZE, TILE_SIZE, BITS)
from naja.resources import resources
from naja.resources.mutators import EIGHT_BIT
from naja.widgets.base import Widget
IMG_MAP = {
- BITS.CYAN: 'board/robot_cyan.png',
- BITS.YELLOW: 'board/robot_yellow.png',
- BITS.MAGENTA: 'board/robot_magenta.png',
- }
+ BITS.MSB: 'board/robot_msb.png',
+ BITS.RED: 'board/robot_red.png',
+ BITS.GREEN: 'board/robot_green.png',
+ BITS.BLUE: 'board/robot_blue.png',
+}
class RobotWidget(Widget):
def draw(self, surface):
surface.blit(self.surface, self.rect)
-
- 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)