X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=naja%2Fwidgets%2Frobot.py;h=75082d061395512a96bf4e5bc0a6013363027c6c;hb=ba6874da203fc7eec66a6efffb9747a4f5706d86;hp=cbeba2e73443d4e8e75fe220033c32e00e59ba09;hpb=2be70af38592f9eab413e3fe5823cc3e6b00e3de;p=naja.git diff --git a/naja/widgets/robot.py b/naja/widgets/robot.py index cbeba2e..75082d0 100644 --- a/naja/widgets/robot.py +++ b/naja/widgets/robot.py @@ -3,7 +3,7 @@ import pygame.locals as pgl from naja.constants import PLAYER_SIZE, BIT_SIZE, TILE_SIZE, BITS, ACT, KEYS -from naja.events import InvalidateTheWorld +from naja.events import PlayerMoved, finish_event from naja.resources import resources from naja.resources.mutators import EIGHT_BIT from naja.widgets.base import Widget @@ -28,7 +28,7 @@ class RobotWidget(Widget): self.pos = (self.state.player.position[0] * TILE_SIZE[0], self.state.player.position[1] * TILE_SIZE[1] + BIT_SIZE[1]) self.surface = resources.get_image('board/robot.png', - transforms=(EIGHT_BIT,)) + transforms=(EIGHT_BIT,)).copy() for bit, img_name in IMG_MAP.iteritems(): if self.state.player.bits.check_bit(bit): bit_img = resources.get_image(img_name, @@ -45,25 +45,20 @@ class RobotWidget(Widget): if ev.key in KEYS.UP: if self.state.player.move(BITS.NORTH): self.state.gameboard.change_mode() - InvalidateTheWorld.post() - return True + return finish_event(events=[PlayerMoved]) if ev.key in KEYS.DOWN: if self.state.player.move(BITS.SOUTH): self.state.gameboard.change_mode() - InvalidateTheWorld.post() - return True + return finish_event(events=[PlayerMoved]) if ev.key in KEYS.LEFT: if self.state.player.move(BITS.WEST): self.state.gameboard.change_mode() - InvalidateTheWorld.post() - return True + return finish_event(events=[PlayerMoved]) if ev.key in KEYS.RIGHT: if self.state.player.move(BITS.EAST): self.state.gameboard.change_mode() - InvalidateTheWorld.post() - return True + return finish_event(events=[PlayerMoved]) if ev.key in (pgl.K_SPACE,): self.state.gameboard.change_mode() - InvalidateTheWorld.post() - return True + return finish_event() return super(RobotWidget, self).handle_event(ev)