def move_player_to(self, direction): """move_player_to moves the player to the given direction. """ if self.catch_keyboard_gobject and self.player_turn: if direction == GameBoard.LEFT: ok, collision = self.move_it_gobject(self.catch_keyboard_gobject, -self.g_cell_size.x, 0) elif direction == GameBoard.RIGHT: ok, collision = self.move_it_gobject(self.catch_keyboard_gobject, self.g_cell_size.x, 0) elif direction == GameBoard.UP: ok, collision = self.move_it_gobject(self.catch_keyboard_gobject, 0, -self.g_cell_size.y) elif direction == GameBoard.DOWN: ok, collision = self.move_it_gobject(self.catch_keyboard_gobject, 0, self.g_cell_size.y) else: return False, None if ok: self.player_turn = False Log.Board(self.name).EndPlayerTurn().call() return ok, collision return True, None
def update(self, surface, **kwargs): """update provides any functionality to be done every tick. """ if not self.player_turn: self.off_player_counter += 1 if self.off_player_counter >= 2: self.off_player_counter = 0 self.player_turn = True Log.Board(self.name).StartPlayerTurn().call() super(GameBoard, self).update(surface, **kwargs) event_bucket = kwargs["event-bucket"] bucket = [] while len(event_bucket): event = event_bucket.pop(0) # Log.Scene(self.name).EventUpdateBucket(event).call() if event.type == GEvent.ENGINE and event.subtype == GEvent.DELETE and event.destination == GEvent.BOARD: self.del_gobject(event.source) event.destination = GEvent.SCENE bucket.append(event) event_bucket.extend(bucket)