Beispiel #1
0
    def __init__(self, data, row, col, spriteCoords, pipeKey):
        super().__init__(data, row, col, spriteCoords, False)
        if (data.level.getMap()[row - 1][col] == "block"):
            TILE_SPRITES = utils.SpriteSheet("images/blocktiles.png")
            self.image = TILE_SPRITES.extractSpriteGrid((5, 4))
            self.image = pygame.transform.scale(
                self.image, (data.PLAY_GRID_SIZE, data.PLAY_GRID_SIZE))

        if (data.level.getMap()[row - 1][col] == "pipe"):
            TILE_SPRITES = utils.SpriteSheet("images/blocktiles.png")
            self.image = TILE_SPRITES.extractSpriteGrid((4, 4))
            self.image = pygame.transform.scale(
                self.image, (data.PLAY_GRID_SIZE, data.PLAY_GRID_SIZE))

        self.pipeKey = pipeKey
Beispiel #2
0
    def __init__(self, row, col, data):
        super().__init__(row, col, "left", data)
        self.ogX, self.ogY = self.x, self.y

        TILE_SPRITES = utils.SpriteSheet("images/enemies.gif")
        self.stillImage = TILE_SPRITES.extractSprite(211, 358, 24, 32)
        self.stillImage = pygame.transform.scale(self.stillImage, 
            (int(2 * data.PLAY_GRID_SIZE * 24 / 32), 2 * data.PLAY_GRID_SIZE))

        self.fallingImage = TILE_SPRITES.extractSprite(211, 397, 24, 32)
        self.fallingImage = pygame.transform.scale(self.fallingImage, 
            (int(2 * data.PLAY_GRID_SIZE * 24 / 32), 2 * data.PLAY_GRID_SIZE))

        self.risingImage = TILE_SPRITES.extractSprite(245, 358, 24, 32)
        self.risingImage = pygame.transform.scale(self.risingImage, 
            (int(2 * data.PLAY_GRID_SIZE * 24 / 32), 2 * data.PLAY_GRID_SIZE))

        self.sprites = [self.stillImage, self.fallingImage, self.risingImage]

        self.jumpable = False
        self.active = False
        self.fallingTicks = 0
        self.tolerance = 50
        self.falling = False

        self.sinceHitGround = 0

        self.rect = self.stillImage.get_rect()
        self.rect.x, self.rect.y = self.x, self.y

        self.vx, self.vy = 0, 0
Beispiel #3
0
    def __init__(self, data, row, col, spriteCoords):
        super().__init__(data, row, col, (0, 0), False)
        TILE_SPRITES = utils.SpriteSheet("images/blocktiles.png")

        self.x, self.y = utils.getPlayCellCorner(data, row - 1, col)
        self.offsetX, self.offsetY = self.x, self.y

        self.image1 = TILE_SPRITES.extractSpriteGrid(spriteCoords[0])
        self.image2 = TILE_SPRITES.extractSpriteGrid(spriteCoords[1])
        self.image3 = TILE_SPRITES.extractSpriteGrid(spriteCoords[2])

        self.image = pygame.Surface(
            (self.image1.get_width() + self.image2.get_width() +
             self.image3.get_width(), self.image1.get_height()))

        self.image.fill((221, 229, 235))  # arbitrary color
        self.image.set_colorkey((221, 229, 235))

        self.image.blit(self.image1, (0, 0))
        self.image.blit(self.image2, (self.image1.get_width(), 0))
        self.image.blit(self.image3,
                        (self.image1.get_width() + self.image2.get_width(), 0))

        self.image = pygame.transform.scale(
            self.image, (data.PLAY_GRID_SIZE * 3, data.PLAY_GRID_SIZE))
        self.rect = self.image.get_rect()
        self.rect.x, self.rect.y = self.x, self.y
Beispiel #4
0
    def __init__(self, data, row, col, spriteCoords, item="coin"):
        super().__init__(data, row, col, spriteCoords, False)
        self.row, self.col = row, col
        self.item = item

        TILE_SPRITES = utils.SpriteSheet("images/blocktiles.png")
        image = TILE_SPRITES.extractSpriteGrid((3, 0))
        self.hitImage = pygame.transform.scale(
            image, (data.PLAY_GRID_SIZE, data.PLAY_GRID_SIZE))
Beispiel #5
0
    def __init__(self, row, col, data):
        super().__init__(row, col, data)

        TILE_SPRITES = utils.SpriteSheet("images/newitems.png")
        self.image = TILE_SPRITES.extractSprite(2, 213, 16, 16)
        self.image = pygame.transform.scale(
            self.image, (data.PLAY_GRID_SIZE, data.PLAY_GRID_SIZE))
        self.rect = self.image.get_rect()
        self.rect.x, self.rect.y = self.x, self.y
        print(row, col)
Beispiel #6
0
    def __init__(self, row, col, data, spriteCoords, x=None, y=None):
        super().__init__(row, col, data, spriteCoords)
        TILE_SPRITES = utils.SpriteSheet("images/newitems.png")
        self.image = TILE_SPRITES.extractSprite(39, 1, 16, 15)
        self.image = pygame.transform.scale(
            self.image, (data.PLAY_GRID_SIZE, data.PLAY_GRID_SIZE))
        if (x != None and y != None):
            self.x, self.y = x, y
            self.rect.x, self.rect.y = self.x, self.y

        self.vx, self.vy = 0, 0
Beispiel #7
0
    def getSprite(width, height, spriteCoords):
        TILE_SPRITES = utils.SpriteSheet("images/blocktiles.png")
        image = TILE_SPRITES.extractSpriteGrid(spriteCoords)
        image = pygame.transform.scale(image, (width, height))

        transLayer = pygame.image.load(
            "images/transparent.png").convert_alpha()
        transLayer = pygame.transform.scale(transLayer, (width, height))

        image.blit(transLayer, (0, 0))
        return image
Beispiel #8
0
    def initFireAnimFrames(self, data):
        # initialises all the sprites necessary to represent super Mario in
        # his states: moving left, right, jumping, and falling

        TILE_SPRITES = utils.SpriteSheet("images/firemario.png")
        self.fireRightSprites = list()

        image = TILE_SPRITES.extractSprite(3, 3, 15, 28)
        self.fireRightSprites.append(
            pygame.transform.scale(image,
                                   (int(data.PLAY_GRID_SIZE * 1.25 * 15 / 28),
                                    int(data.PLAY_GRID_SIZE * 1.25))))

        image = TILE_SPRITES.extractSprite(123, 3, 16, 27)
        self.fireRightSprites.append(
            pygame.transform.scale(image,
                                   (int(data.PLAY_GRID_SIZE * 1.25 * 16 / 27),
                                    int(data.PLAY_GRID_SIZE * 1.25))))

        image = TILE_SPRITES.extractSprite(163, 3, 16, 28)
        self.fireRightSprites.append(
            pygame.transform.scale(image,
                                   (int(data.PLAY_GRID_SIZE * 1.25 * 16 / 28),
                                    int(data.PLAY_GRID_SIZE * 1.25))))

        self.fireLeftSprites = list()
        for image in self.fireRightSprites:
            self.fireLeftSprites.append(
                pygame.transform.flip(image, True, False))

        self.fireRightJumpSprite = TILE_SPRITES.extractSprite(3, 41, 16, 31)
        self.fireRightJumpSprite = pygame.transform.scale(
            self.fireRightJumpSprite,
            (int(data.PLAY_GRID_SIZE * 1.25 * 16 / 31),
             int(data.PLAY_GRID_SIZE * 1.25)))

        self.fireLeftJumpSprite = pygame.transform.flip(
            self.fireRightJumpSprite, True, False)

        self.fireRightFallingSprite = TILE_SPRITES.extractSprite(
            43, 42, 16, 29)
        self.fireRightFallingSprite = pygame.transform.scale(
            self.fireRightFallingSprite,
            (int(data.PLAY_GRID_SIZE * 1.25 * 16 / 29),
             int(data.PLAY_GRID_SIZE * 1.25)))

        self.fireLeftFallingSprite = pygame.transform.flip(
            self.fireRightFallingSprite, True, False)

        self.fireVictory = pygame.image.load("images/firevictory.png")
        self.fireVictory = pygame.transform.scale(
            self.fireVictory, (int(data.PLAY_GRID_SIZE * 1.25 * 16 / 29),
                               int(data.PLAY_GRID_SIZE * 1.25)))
Beispiel #9
0
    def getSmallSquareSprite(size):
        surface = pygame.Surface((size, size))
        surface.fill((221, 229, 235))  # arbitrary color
        surface.set_colorkey((221, 229, 235))
        TILE_SPRITES = utils.SpriteSheet("images/mario.png")
        image = TILE_SPRITES.extractSprite(4, 9, 14, 20)
        image = pygame.transform.scale(image, (int(size * 14 / 20), size))

        x = (size / 2) - image.get_width() / 2
        surface.blit(image, (x, 0))

        return surface
Beispiel #10
0
    def getSquareSprite(size):
        surface = pygame.Surface((size, size))
        surface.fill((221, 229, 235)) # arbitrary color
        surface.set_colorkey((221, 229, 235))

        TILE_SPRITES = utils.SpriteSheet("images/cannons.png")
        image = TILE_SPRITES.extractSprite(0, 20, 16, 33)
        image = pygame.transform.scale(image, (int(16 / 33 * size), size))

        x = (size / 2) - image.get_width() / 2
        surface.blit(image, (x, 0))
        return surface
Beispiel #11
0
    def __init__(self, row, col, data, spriteCoords):
        super().__init__()

        self.x, self.y = utils.getPlayCellCorner(data, row, col)
        self.offsetX, self.offsetY = self.x, self.y

        TILE_SPRITES = utils.SpriteSheet("images/newitems.png")
        self.image = TILE_SPRITES.extractSpriteGrid(spriteCoords)
        self.image = pygame.transform.scale(
            self.image, (data.PLAY_GRID_SIZE, data.PLAY_GRID_SIZE))
        self.rect = self.image.get_rect()
        self.rect.x, self.rect.y = self.x, self.y
Beispiel #12
0
    def getSquareSprite(size):
        surface = pygame.Surface((size, size))
        surface.fill((221, 229, 235)) # arbitrary color
        surface.set_colorkey((221, 229, 235))

        TILE_SPRITES = utils.SpriteSheet("images/enemies.gif")
        image = TILE_SPRITES.extractSprite(211, 358, 24, 32)
        image = pygame.transform.scale(image, (int(size * 24 / 32), size))

        x = (size / 2) - image.get_width() / 2
        surface.blit(image, (x, 0))
        
        return surface
Beispiel #13
0
    def __init__(self, row, col, data):
        super().__init__(row, col, data, (0, 0))
        self.active = False
        self.vx, self.vy = 0, 0
        self.COLLISION_MARGIN = 2
        self.held = False

        TILE_SPRITES = utils.SpriteSheet("images/newitems.png")
        self.image = TILE_SPRITES.extractSprite(78, 213, 16, 16)
        self.image = pygame.transform.scale(
            self.image, (data.PLAY_GRID_SIZE, data.PLAY_GRID_SIZE))
        self.rect = self.image.get_rect()
        self.rect.x, self.rect.y = self.x, self.y
Beispiel #14
0
    def __init__(self, row, col, faceDir, data, x, y):
        super().__init__(row, col, faceDir, data, x, y)

        TILE_SPRITES = utils.SpriteSheet("images/cannons.png")
        self.rightImage = TILE_SPRITES.extractSprite(36, 21, 16, 14)
        self.leftImage = pygame.transform.flip(self.rightImage, True, False)
        self.image = self.leftImage

        self.x = x
        self.y = y

        self.rect = self.image.get_rect()
        self.rect.x, self.rect.y = self.x, self.y

        self.vx = -5 if faceDir == "left" else 5
        self.vy = 0
Beispiel #15
0
    def __init__(self, row, col, faceDir, data):
        super().__init__(row, col, faceDir, data)

        TILE_SPRITES = utils.SpriteSheet("images/cannons.png")
        self.image = TILE_SPRITES.extractSprite(0, 20, 16, 33)
        self.image = pygame.transform.scale(self.image, 
            (int(16 / 33 * data.PLAY_GRID_SIZE), data.PLAY_GRID_SIZE))

        self.rect = self.image.get_rect()
        self.rect.x, self.rect.y = self.x, self.y

        self.row, self.col = row, col
        self.jumpable = False
        self.vx, self.vy = 0, 0
        self.fireTicks = 0
        self.tolerance = 500
Beispiel #16
0
    def __init__(self, row, col, data):
        super().__init__(row, col, "left", data)
        TILE_SPRITES = utils.SpriteSheet("images/enemies.gif")
        self.image = TILE_SPRITES.extractSprite(350, 173, 16, 16)
        self.image = pygame.transform.scale(self.image, 
            (data.PLAY_GRID_SIZE, data.PLAY_GRID_SIZE))
        self.upImage = self.image
        self.downImage = pygame.transform.flip(self.image, False, True)

        self.ogY = self.y

        self.vx = 0 
        self.vy = -40

        self.flameTicks = 0
        self.jumpable = False
        self.waiting = False
Beispiel #17
0
    def getFullSprite(height, spriteCoords):
        TILE_SPRITES = utils.SpriteSheet("images/blocktiles.png")
        image1 = TILE_SPRITES.extractSpriteGrid(spriteCoords[0])
        image2 = TILE_SPRITES.extractSpriteGrid(spriteCoords[1])
        image3 = TILE_SPRITES.extractSpriteGrid(spriteCoords[2])

        image = pygame.Surface(
            (image1.get_width() + image2.get_width() + image3.get_width(),
             image1.get_height()))

        image.fill((221, 229, 235))  # arbitrary color
        image.set_colorkey((221, 229, 235))

        image.blit(image1, (0, 0))
        image.blit(image2, (image1.get_width(), 0))
        image.blit(image3, (image1.get_width() + image2.get_width(), 0))

        return pygame.transform.scale(image, (height * 3, height))
Beispiel #18
0
    def __init__(self, row, col, winged, faceDir, data):
        super().__init__(row, col, faceDir, data)

        TILE_SPRITES = utils.SpriteSheet("images/enemies.gif")
        self.image1 = TILE_SPRITES.extractSprite(191, 237, 16, 16)
        self.image1 = pygame.transform.scale(self.image1, 
            (int(data.PLAY_GRID_SIZE ), data.PLAY_GRID_SIZE))

        self.image2 = TILE_SPRITES.extractSprite(172, 238, 16, 15)
        self.image2 = pygame.transform.scale(self.image2, 
            (int(data.PLAY_GRID_SIZE), data.PLAY_GRID_SIZE))
        self.leftSprites = [self.image1, self.image2]

        self.rightSprites = list()
        for sprite in self.leftSprites:
            self.rightSprites.append(pygame.transform.flip(sprite, True, False))

        self.winged = winged
        self.jumpable = True
Beispiel #19
0
    def __init__(self, data, row, col, spriteCoords):
        super().__init__(data, row, col, spriteCoords, False)

        self.spinning = False
        self.ticks = 0

        self.standingImage = self.image

        TILE_SPRITES = utils.SpriteSheet("images/blocktiles.png")
        self.spin1 = TILE_SPRITES.extractSpriteGrid((0, 2))
        self.spin1 = pygame.transform.scale(
            self.spin1, (data.PLAY_GRID_SIZE, data.PLAY_GRID_SIZE))
        self.spin2 = TILE_SPRITES.extractSpriteGrid((0, 3))
        self.spin2 = pygame.transform.scale(
            self.spin2, (data.PLAY_GRID_SIZE, data.PLAY_GRID_SIZE))
        self.spin3 = TILE_SPRITES.extractSpriteGrid((0, 4))
        self.spin3 = pygame.transform.scale(
            self.spin3, (data.PLAY_GRID_SIZE, data.PLAY_GRID_SIZE))
        self.spinningSprites = [self.spin1, self.spin2, self.spin3]
Beispiel #20
0
    def __init__(self, data, row, col, spriteCoords, rootBlock=True):
        super().__init__()
        TILE_SPRITES = utils.SpriteSheet("images/blocktiles.png")

        self.x, self.y = utils.getPlayCellCorner(data, row, col)
        self.offsetX, self.offsetY = self.x, self.y

        if (rootBlock):
            topLevel = (6, 2)
            interLevel = (7, 2)
            if (data.level.getMap()[row - 1][col] != "block"):
                spriteCoords = topLevel
            else:
                spriteCoords = interLevel

        self.image = TILE_SPRITES.extractSpriteGrid(spriteCoords)
        self.image = pygame.transform.scale(
            self.image, (data.PLAY_GRID_SIZE, data.PLAY_GRID_SIZE))
        self.rect = self.image.get_rect()
        self.rect.x, self.rect.y = self.x, self.y
Beispiel #21
0
    def __init__(self, data, spriteCoords):
        super().__init__()
        TILE_SPRITES = utils.SpriteSheet("images/backgrounds.png")

        self.x, self.y = 0, 0

        self.image = pygame.Surface((data.width, data.height))

        coord = random.choice([(0, 0), (1, 1), (3, 0)])

        self.bg = TILE_SPRITES.extractSpriteGrid((0, 0), 512, 432, 2)
        self.bg = pygame.transform.scale(self.bg, (711, data.height))
        self.bgW, self.bgH = self.bg.get_width(), self.bg.get_height()

        x = 0
        while (x < data.width):
            self.image.blit(self.bg, (x, 0, self.bgW, self.bgH))
            x += self.bgW

        self.rect = self.image.get_rect()
Beispiel #22
0
    def __init__(self, x, y, data, faceDir):
        super().__init__()
        self.x, self.y = x, y

        TILE_SPRITES = utils.SpriteSheet("images/enemies.gif")
        self.image = TILE_SPRITES.extractSprite(379, 271, 6, 7)
        self.image = pygame.transform.scale(
            self.image, (data.PLAY_GRID_SIZE // 3, data.PLAY_GRID_SIZE // 3))

        self.peakY = self.y - 25
        self.ticks = 0

        self.faceDir = faceDir

        self.rect = self.image.get_rect()
        self.rect.x, self.rect.y = self.x, self.y

        if (self.faceDir == "right"):
            self.vx, self.vy = 5, 5
        elif (self.faceDir):
            self.vx, self.vy = -5, 5
Beispiel #23
0
    def __init__(self, row, col, faceDir, data, x, y):
        super().__init__(row, col, faceDir, data)
        
        TILE_SPRITES = utils.SpriteSheet("images/cannons.png")
        self.rightImage = TILE_SPRITES.extractSprite(56, 23, 12, 12)
        self.rightImage = pygame.transform.scale(self.rightImage, 
            (int(data.PLAY_GRID_SIZE * .8), int(data.PLAY_GRID_SIZE * .8)))

        self.leftImage = pygame.transform.flip(self.rightImage, True, False)
        self.leftImage = pygame.transform.scale(self.leftImage, 
            (int(data.PLAY_GRID_SIZE * .8), int(data.PLAY_GRID_SIZE * .8)))

        self.image = self.leftImage

        self.jumpable = True

        self.x = x
        self.y = y

        self.rect = self.image.get_rect()
        self.rect.x, self.rect.y = self.x, self.y

        self.vx = -4 if(self.faceDir == "left") else 4
        self.vy = -4
Beispiel #24
0
 def getSprite(spriteCoords, size):
     TILE_SPRITES = utils.SpriteSheet("images/newitems.png")
     image = TILE_SPRITES.extractSpriteGrid(spriteCoords)
     image = pygame.transform.scale(image, (size, size))
     return image
Beispiel #25
0
 def getSprite(size):
     TILE_SPRITES = utils.SpriteSheet("images/newitems.png")
     image = TILE_SPRITES.extractSprite(78, 213, 16, 16)
     return pygame.transform.scale(image, (size, size))
Beispiel #26
0
 def getSprite(size):
     TILE_SPRITES = utils.SpriteSheet("images/enemies.gif")
     image = TILE_SPRITES.extractSprite(21, 39, 16, 27)
     image =  pygame.transform.scale(image1, (int(size * 16 / 27), size))
     return pygame.transform.flip(image, True, False)
Beispiel #27
0
 def getSprite(size):
     TILE_SPRITES = utils.SpriteSheet("images/cannons.png")
     image = TILE_SPRITES.extractSprite(65, 40, 15, 17)
     return pygame.transform.scale(image, (size, int(17 / 15 * size)))
Beispiel #28
0
 def getSprite(size):
     TILE_SPRITES = utils.SpriteSheet("images/cannons.png")
     image = TILE_SPRITES.extractSprite(0, 20, 16, 33)
     return pygame.transform.scale(image, (int(16 / 33 * size), size))
Beispiel #29
0
 def getSprite(size):
     TILE_SPRITES = utils.SpriteSheet("images/enemies.gif")
     image1 = TILE_SPRITES.extractSprite(211, 358, 24, 32)
     return pygame.transform.scale(image1, (int(size * 24 / 32), size))
Beispiel #30
0
 def getSprite(size):
     TILE_SPRITES = utils.SpriteSheet("images/enemies.gif")
     image = TILE_SPRITES.extractSprite(350, 173, 16, 16)
     return pygame.transform.scale(image, (size, size))