Beispiel #1
0
    def double_jump(self, newPawnTile: pygame.sprite.Sprite,
                    pawnsSprintTable: pygame.sprite.Group):
        distanceX = newPawnTile.get_tile_center_x() - self.get_tile_center_x()
        distanceY = newPawnTile.get_tile_center_y() - self.get_tile_center_y()

        if distanceX != 0:
            if distanceX > 0:
                pawnInBettwenX = newPawnTile.get_tile_center_x_for_drawing_pawn(
                    self) - newPawnTile.image.get_width()
                for pawn in pawnsSprintTable:
                    if pawn.rect.x == pawnInBettwenX and pawn.rect.y == self.rect.y:
                        return True
            else:
                pawnInBettwenX = newPawnTile.get_tile_center_x_for_drawing_pawn(
                    self) + newPawnTile.image.get_width()
                for pawn in pawnsSprintTable:
                    if pawn.rect.x == pawnInBettwenX and pawn.rect.y == self.rect.y:
                        return True
        else:
            if distanceY > 0:
                pawnInBettwenY = newPawnTile.get_tile_center_y_for_drawing_pawn(
                    self) - newPawnTile.image.get_height()
                for pawn in pawnsSprintTable:
                    if pawn.rect.y == pawnInBettwenY and pawn.rect.x == self.rect.x:
                        return True
            else:
                pawnInBettwenY = newPawnTile.get_tile_center_y_for_drawing_pawn(
                    self) + newPawnTile.image.get_height()
                for pawn in pawnsSprintTable:
                    if pawn.rect.y == pawnInBettwenY and pawn.rect.x == self.rect.x:
                        return True
Beispiel #2
0
    def check_if_pawn_is_jumping_over(self, newPawnTile: pygame.sprite.Sprite):
        distanceX = abs(newPawnTile.get_tile_center_x() -
                        self.get_tile_center_x())
        distanceY = abs(newPawnTile.get_tile_center_y() -
                        self.get_tile_center_y())

        if (distanceX == (newPawnTile.image.get_width() * 2)) ^ (distanceY == (
                newPawnTile.image.get_height() * 2)):
            if (distanceX == newPawnTile.image.get_width()) or (
                    distanceY == newPawnTile.image.get_height()):
                return False
            return True
        else:
            return False
Beispiel #3
0
    def check_if_pawn_is_moving_to_the_nearest_tile(
            self, newPawnTile: pygame.sprite.Sprite):
        distanceX = abs(newPawnTile.get_tile_center_x() -
                        self.get_tile_center_x())
        distanceY = abs(newPawnTile.get_tile_center_y() -
                        self.get_tile_center_y())

        if (distanceX == newPawnTile.image.get_width()) ^ (
                distanceY == newPawnTile.image.get_height()):
            if (distanceX > newPawnTile.image.get_width()) or (
                    distanceY > newPawnTile.image.get_height()):
                return False
            return True
        else:
            return False