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
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
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
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))
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)
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
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
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)))
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
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
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
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
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
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
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
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
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))
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
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]
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
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()
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
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
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
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))
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)
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)))
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))
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))
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))