Example #1
0
    def __init__(self, screen, settings):

        pac_ss = spritesheet.SpriteSheet('/images/pacman.png')
        # pac_imgs = []
        # pac_imgs = [pac_ss.images_at((0, 0, 32, 32), (33, 0, 32, 32), (65, 0, 32, 32), (97, 0, 32, 32),
        # (129, 0, 32, 32), (161, 0, 32, 32), (193, 0, 32, 32), (225, 0, 32, 32),
        # (257, 0, 32, 32), (389, 0, 32, 32), (321, 0, 32, 32), (353, 0, 32, 32),
        # (0, 33, 32, 32), (33, 33, 32, 32), (65, 33, 32, 32), (97, 33, 32, 32),
        # (129, 33, 32, 32), (161, 33, 32, 32), (193, 33, 32, 32), (225, 33, 32, 32),
        # (257, 33, 32, 32), (389, 33, 32, 32), (321, 33, 32, 32), (353, 33, 32, 32),
        # colorkey=(255, 255, 255))]

        self.pac_left = [
            pac_ss.images_at(
                ((0, 33, 32, 32), (33, 33, 32, 32), (65, 33, 32, 32),
                 (97, 33, 32, 32), (129, 33, 32, 32), (161, 33, 32, 32),
                 (193, 33, 32, 32), (225, 33, 32, 32), (257, 33, 32, 32)))
        ]
        self.pac_down = [
            pac_ss.images_at(
                ((0, 0, 32, 32), (33, 0, 32, 32), (65, 0, 32, 32),
                 (97, 0, 32, 32), (129, 0, 32, 32), (161, 0, 32, 32),
                 (193, 0, 32, 32), (225, 0, 32, 32), (257, 0, 32, 32)))
        ]
        self.pac_right = [pygame.transform.flip(self.pac_left, True, False)]
        self.pac_up = [pygame.transform.flip(self.pac_down, False, True)]

        ghost_ss = spritesheet.SpriteSheet('/images/ghosts.png')
        blinky = [ghost_ss.images_at(((0, 0, 32, 32), (0, 0, 32, 32)))]
        pinky = []
        inky = []
        clyde = []
Example #2
0
    def __init__(self,
                 filename,
                 rect,
                 count,
                 colorkey=None,
                 loop=False,
                 frames=1):
        """construct a SpriteStripAnim

        filename, rect, count, and colorkey are the same arguments used
        by spritesheet.load_strip.

        loop is a boolean that, when True, causes the next() method to
        loop. If False, the terminal case raises StopIteration.

        frames is the number of ticks to return the same image before
        the iterator advances to the next image.
        """
        self.filename = filename
        ss = spritesheet.SpriteSheet(filename)
        self.images = ss.load_strip(rect, count, colorkey)
        self.i = 0
        self.loop = loop
        self.frames = frames
        self.f = frames
Example #3
0
    def __init__(self, guard):

        # Constructor
        pygame.sprite.Sprite.__init__(self)

        # Load the image
        self.sprite_sheet = spritesheet.SpriteSheet("resources/arms.png")

        self.arm_right = self.sprite_sheet.get_image(0, 0, 28, 12)
        self.arm_left = self.sprite_sheet.get_image(0, 12, 28, 12)

        self.image = self.arm_right

        self.guard = guard

        # Set a reference to the images rectangle
        self.rect = self.image.get_rect()

        self.rect.x = self.guard.rect.x + self.guard.rect.width / 4
        self.rect.y = self.guard.rect.y + self.guard.rect.height / 4

        self.start_x = self.rect.x
        self.start_y = self.rect.y

        self.degrees = 0
        self.counter = random.randrange(85, 115)

        # Sounds the guard makes
        self.gunshot_sound = self.guard.level.sound_engine.gunshot_sound
        self.shell_sound = self.guard.level.sound_engine.shell_sound
        self.shell_sound.set_volume(0.5)

        self.drop_delay = 0
        self.played_dropped = True
Example #4
0
    def __init__(self, sprite_sheet_data, x, y, layer=1):

        # Call the parents constructor
        pygame.sprite.Sprite.__init__(self)

        self.sprite_sheet = spritesheet.SpriteSheet("resources/terrain.png")

        self.images = []

        # Take the image for each frame from the spritesheet
        # And add it to the list of frames

        for sprite in sprite_sheet_data:
            new_image = self.sprite_sheet.get_image(sprite[0], sprite[1],
                                                    sprite[2], sprite[3])
            self.images.append(new_image)

        self.image = self.images[0]
        self.rect = self.image.get_rect()
        self.rect.x = x
        self.rect.y = y

        self.start_x = x
        self.start_y = y

        # A timer var for animation

        self.tick = 0
        self.frame = 0

        # The layer the tile is in
        self.layer = layer
Example #5
0
    def __init__(self, sprite_sheet, sprite_sheet_data, x, y, command):

        # Call the parents constructor
        pygame.sprite.Sprite.__init__(self)

        # Set the sprites images
        self.sprite_sheet = spritesheet.SpriteSheet(sprite_sheet)

        self.image_inactive = self.sprite_sheet.get_image_srcalpha(
            sprite_sheet_data[0][0], sprite_sheet_data[0][1],
            sprite_sheet_data[0][2], sprite_sheet_data[0][3])

        self.image_active = self.sprite_sheet.get_image_srcalpha(
            sprite_sheet_data[1][0], sprite_sheet_data[1][1],
            sprite_sheet_data[1][2], sprite_sheet_data[1][3])

        self.image = self.image_inactive

        # Correct the sprites position
        self.rect = self.image.get_rect()
        self.rect.x = x
        self.rect.y = y

        # Set the command
        self.command = command
Example #6
0
    def __init__(self, x, y, image, level):

        # Constructor

        # Call the parents constructor
        pygame.sprite.Sprite.__init__(self)

        # Set the image
        sprite_sheet = spritesheet.SpriteSheet("resources/terrain.png")
        self.image = sprite_sheet.get_image(image[0], image[1], image[2],
                                            image[3])

        # Set the image's rectangle and position
        self.rect = self.image.get_rect()
        self.rect.x = x
        self.rect.y = y

        self.start_x = self.rect.x
        self.start_y = self.rect.y

        # The level the camera is in
        self.level = level

        # Different sprites the camera interacts with
        self.laser = None
        self.keypad = None
Example #7
0
    def __init__(self, sprite_sheet_data, x, y, layer=1):

        # Constructor

        # Call the parents constructor
        pygame.sprite.Sprite.__init__(self)

        # Load the image
        sprite_sheet = spritesheet.SpriteSheet("resources/sky.png")

        self.image = sprite_sheet.get_image(sprite_sheet_data[0],
                                            sprite_sheet_data[1],
                                            sprite_sheet_data[2],
                                            sprite_sheet_data[3])

        # Set the rectangle and position
        self.rect = self.image.get_rect()
        self.rect.x = x
        self.rect.y = y

        self.start_x = x
        self.start_y = y

        # The layer the tile is in
        self.layer = layer
Example #8
0
    def __init__(self, spriteSheetData):
        ''' Constructor '''

        # Call the parents constructor
        pygame.sprite.Sprite.__init__(self)

        spriteSheet = spritesheet.SpriteSheet("resources/images/terrain.png")

        self.images = []

        # Take the image for each srite from the spritesheet
        # and add it to the list of frames

        for sprite in spriteSheetData:
            newImage = spriteSheet.get_image(sprite[0], sprite[1], sprite[2],
                                             sprite[3])
            self.images.append(newImage)

        self.image = self.images[0]
        self.rect = self.image.get_rect()

        # A timer var for the animation

        self.tick = 0
        self.costume = 0
Example #9
0
    def __init__(self,num):

        ''' Constructor '''

        # Call the parents constructor
        pygame.sprite.Sprite.__init__(self)

        self.spriteSheet = spritesheet.SpriteSheet("resources/images/hearts.png")

        # Grab the sprites from the spritesheet
        image = self.spriteSheet.get_image(0,0,46,40)
        self.images.append(image)
        image = self.spriteSheet.get_image(46,0,46,40)
        self.images.append(image)
        image = self.spriteSheet.get_image(92,0,46,40)
        self.images.append(image)

        self.image = self.images[self.state]

        self.rect = self.image.get_rect()

        self.id = num

        # Set position
        self.rect.x = self.id*50+10
        self.rect.y = 10
Example #10
0
    def __init__(self):
        ''' Constructor '''

        # Call the parents constructor
        pygame.sprite.Sprite.__init__(self)

        spriteSheet = spritesheet.SpriteSheet("resources/images/player.png")

        # Load the static images

        self.standImgR = spriteSheet.get_image(0, 0, 27, 62)
        self.jumpImgR = spriteSheet.get_image(113, 0, 30, 69)
        self.fallImgR = spriteSheet.get_image(143, 0, 35, 67)
        self.attackImgR = spriteSheet.get_image(178, 0, 33, 62)

        self.standImgL = pygame.transform.flip(self.standImgR, True, False)
        self.jumpImgL = pygame.transform.flip(self.jumpImgR, True, False)
        self.fallImgL = pygame.transform.flip(self.fallImgR, True, False)
        self.attackImgL = pygame.transform.flip(self.attackImgR, True, False)

        # Load all the right-facing images into the list
        image = spriteSheet.get_image(0, 0, 27, 62)
        self.walkingFramesR.append(image)
        image = spriteSheet.get_image(27, 0, 31, 62)
        self.walkingFramesR.append(image)
        image = spriteSheet.get_image(58, 0, 27, 62)
        self.walkingFramesR.append(image)
        image = spriteSheet.get_image(85, 0, 28, 62)
        self.walkingFramesR.append(image)

        # Do the same, but flip them to left
        for frame in self.walkingFramesR:
            image = pygame.transform.flip(frame, True, False)
            self.walkingFramesL.append(image)

        # Set the starting image
        self.image = self.standImgR

        # Set a reference to the image rect
        self.rect = self.image.get_rect()

        # Load sounds
        self.jumpSound = pygame.mixer.Sound("resources/sounds/Jump Sound.wav")
        self.deathSound = pygame.mixer.Sound(
            "resources/sounds/Death Sound.wav")
        self.attackSound = pygame.mixer.Sound(
            "resources/sounds/Attack Sound.wav")
        self.jumpSound.set_volume(0.25)
        self.deathSound.set_volume(0.25)
        self.attackSound.set_volume(0.25)

        # Initiate the hearts
        self.heartList = pygame.sprite.Group()

        for n in range(int(constants.PLAYER_HEALTH / 2)):
            newHeart = heart.Heart(n)
            newHeart.player = self
            self.heartList.add(newHeart)
Example #11
0
    def __init__(self, screen, pacman, scoreboard):
        super().__init__()
        self.screen = screen
        self.screen_rect = screen.get_rect()
        self.pacman = pacman
        self.chase = False
        self.portal = False
        self.active = True
        self.wait = 720
        self.scoreboard = scoreboard
        self.move_speed = 1

        ss = spritesheet.SpriteSheet('images/sheet.png')
        self.rimages = []
        self.rimages = ss.images_at(((457, 81, 13, 14), (473, 81, 13, 14)),
                                    colorkey=(0, 0, 0))
        self.limages = []
        self.limages = ss.images_at(((489, 81, 13, 14), (505, 81, 13, 14)),
                                    colorkey=(0, 0, 0))
        self.uimages = []
        self.uimages = ss.images_at(((521, 81, 13, 14), (521, 81, 13, 14)),
                                    colorkey=(0, 0, 0))
        self.dimages = []
        self.dimages = ss.images_at((
            (553, 81, 13, 14),
            (569, 81, 13, 14),
        ),
                                    colorkey=(0, 0, 0))
        self.bimages = []
        self.bimages = ss.images_at(((585, 65, 13, 14), (601, 65, 13, 14)),
                                    colorkey=(0, 0, 0))
        self.bwimages = []
        self.bwimages = ss.images_at(((585, 65, 13, 14), (633, 65, 13, 14),
                                      (601, 65, 13, 14), (617, 65, 13, 14)),
                                     colorkey=(0, 0, 0))

        self.image = pygame.transform.scale(self.uimages[0], (13 * 3, 13 * 3))
        self.rect = self.image.get_rect()
        self.index = 0
        self.image_speed = 30

        self.rect.centery = 28.5 * 13
        self.rect.centerx = 31.5 * 13
        self.centerx = self.rect.centerx
        self.centery = self.rect.centery
        self.pghost = (self.rect.centerx, self.rect.centery)
        self.font = pygame.font.Font(None, 28)
        self.ptext = self.font.render(str(self.pacman.ghost_score * 200), 1,
                                      (255, 255, 255))

        if random.randint(0, 1) == 0:
            self.direction = "right"
        else:
            self.direction = "left"
        self.next_move = "none"
Example #12
0
 def createExplosion(image, speed, col, row, onSprite):
     explosionSound.play()
     aExplosion = sh.SpriteSheet(image, speed, col, row, True)
     diffCenterX = aExplosion.centerX - onSprite.centerX
     diffCenterY = aExplosion.centerY - onSprite.centerY
     posCentered = [
         onSprite.pos[0] - diffCenterX, onSprite.pos[1] - diffCenterX
     ]
     aExplosion.pos = [posCentered[0], posCentered[1]]
     aExplosion.vel = [onSprite.vel[0], onSprite.vel[1]]
     return aExplosion
Example #13
0
    def __init__(self, x, y):

        # Call the parents constructor
        pygame.sprite.Sprite.__init__(self)

        self.sprite_sheet = spritesheet.SpriteSheet("resources/guard.png")

        # Get the standing images
        self.stand_image_r = self.sprite_sheet.get_image_srcalpha(0, 0, 24, 48)
        self.stand_image_l = pygame.transform.flip(self.stand_image_r, True,
                                                   False)

        # Arrays for animation
        self.walking_frames_r = []
        self.walking_frames_l = []

        # Load the images
        image = self.sprite_sheet.get_image(0, 0, 24, 48)
        self.walking_frames_r.append(image)

        image = self.sprite_sheet.get_image(24, 0, 25, 48)
        self.walking_frames_r.append(image)

        image = self.sprite_sheet.get_image(48, 0, 24, 48)
        self.walking_frames_r.append(image)

        image = self.sprite_sheet.get_image(72, 0, 24, 48)
        self.walking_frames_r.append(image)

        # Flip them
        for image in self.walking_frames_r:
            self.walking_frames_l.append(
                pygame.transform.flip(image, True, False))

        # Set the starting image and rect
        self.image = self.stand_image_r

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

        self.start_x = x
        self.start_y = y

        self.torch = torches.Torch()
        self.torch.guard = self
        self.torch.start_x = self.start_x + self.rect.width / 2
        self.torch.start_y = self.start_y + self.rect.height / 2

        # Var for animation
        self.walk_dist = 0
Example #14
0
    def __init__(self):

        # Call the parents constructor
        pygame.sprite.Sprite.__init__(self)

        # Load all of the images
        self.sprite_sheet = spritesheet.SpriteSheet("resources/healthbar.png")

        self.images = []

        image = self.sprite_sheet.get_image(0, 0, 32, 16)
        self.images.append(image)

        image = self.sprite_sheet.get_image(0, 16, 32, 16)
        self.images.append(image)

        image = self.sprite_sheet.get_image(0, 32, 32, 16)
        self.images.append(image)

        image = self.sprite_sheet.get_image(0, 48, 32, 16)
        self.images.append(image)

        image = self.sprite_sheet.get_image(0, 64, 32, 16)
        self.images.append(image)

        image = self.sprite_sheet.get_image(0, 80, 32, 16)
        self.images.append(image)

        image = self.sprite_sheet.get_image(32, 0, 32, 16)
        self.images.append(image)

        image = self.sprite_sheet.get_image(32, 16, 32, 16)
        self.images.append(image)

        image = self.sprite_sheet.get_image(32, 32, 32, 16)
        self.images.append(image)

        image = self.sprite_sheet.get_image(32, 48, 32, 16)
        self.images.append(image)

        image = self.sprite_sheet.get_image(32, 64, 32, 16)
        self.images.append(image)

        self.image = self.images[0]

        self.rect = self.image.get_rect()
        self.start_x = None
        self.start_y = None

        self.timer = 30
Example #15
0
    def __init__(self, spriteSheetData):
        ''' Platform contructor '''

        # Call the parents constructor
        pygame.sprite.Sprite.__init__(self)

        spriteSheet = spritesheet.SpriteSheet("resources/images/terrain.png")

        # Take the image from the spritesheet
        self.image = spriteSheet.get_image(spriteSheetData[0],
                                           spriteSheetData[1],
                                           spriteSheetData[2],
                                           spriteSheetData[3])

        self.rect = self.image.get_rect()
Example #16
0
    def __init__(self):
        ''' Constructor '''

        # Call the parents constructor
        pygame.sprite.Sprite.__init__(self)

        # Load the images
        self.spriteSheet = spritesheet.SpriteSheet(
            "resources/images/blob2.png")

        # Grab the sprites
        self.imageR = self.spriteSheet.get_image(0, 0, 43, 33)
        self.imageL = pygame.transform.flip(self.imageR, True, False)

        self.image = self.imageR

        self.rect = self.image.get_rect()
Example #17
0
    def __init__(self):
        super().__init__()

        self.image = pygame.Surface([75, 75])
        self.image.fill((255, 255, 255))
        self.image.set_colorkey(WHITE)

        #self.innerbounds = [self.x + 10, self.y + 10, self.x+width-10, self.y+height-10]

        #self.trees_sprites = pygame.image.load("tree.png")
        sprite_sheet = spritesheet.SpriteSheet("tree.png")
        self.image = sprite_sheet.get_image(TREE1[0], TREE1[1], TREE1[2],
                                            TREE1[3])
        self.image = pygame.transform.scale(self.image, (height, width))

        #pygame.draw.rect(self.image, (255,255,0), [0, 0, 50, 50])

        self.rect = self.image.get_rect()
Example #18
0
    def __init__(self, x, y, width, height):

        ''' Constructor '''

        # Call the parents constructor
        pygame.sprite.Sprite.__init__(self)

        # Load the image

        self.spriteSheet = spritesheet.SpriteSheet("resources/images/buttons.png")

        self.regImg = self.spriteSheet.get_image(x,y,width,height)
        self.hoverImg = self.spriteSheet.get_image(x,y+height,width,height)
        self.pressImg = self.spriteSheet.get_image(x,y+(height*2),width,height)

        self.image = self.regImg

        self.rect = self.image.get_rect()
Example #19
0
    def __init__(self):

        # Constructor

        # Call the parents constructor
        pygame.sprite.Sprite.__init__(self)

        # Set the image
        sprite_sheet = spritesheet.SpriteSheet("resources/crosshair.png")

        self.image = sprite_sheet.get_image(0, 0, 24, 24)

        # Set the rectangle
        self.rect = self.image.get_rect()

        # This is where the mouse is at
        self.mouse_x = 0
        self.mouse_y = 0
Example #20
0
    def __init__(self, screen, scoreboard, game):
        super().__init__()
        self.screen = screen
        self.screen_rect = screen.get_rect()
        self.scoreboard = scoreboard
        self.game = game

        ss = spritesheet.SpriteSheet('images/sheet.png')
        self.rimages = []
        self.rimages = ss.images_at(((457, 1, 13, 13), (473, 1, 13, 13), (489, 1, 14, 14), (473, 1, 13, 13)),
                                    colorkey=(0, 0, 0))
        self.limages = []
        self.limages = ss.images_at(((461, 17, 13, 13), (474, 17, 13, 13), (489, 1, 14, 14), (474, 17, 13, 13)),
                                    colorkey=(0, 0, 0))
        self.uimages = []
        self.uimages = ss.images_at(((457, 36, 13, 13), (473, 34, 13, 13), (489, 1, 14, 14), (473, 34, 13, 13)),
                                    colorkey=(0, 0, 0))
        self.dimages = []
        self.dimages = ss.images_at(((457, 49, 13, 13), (473, 49, 13, 13), (489, 1, 14, 14), (473, 49, 13, 13)),
                                    colorkey=(0, 0, 0))
        self.ripimages = []
        self.ripimages = ss.images_at(((505, 1, 13, 13), (520, 1, 13, 13), (536, 1, 13, 13), (552, 1, 13, 13),
                                       (568, 2, 13, 13), (584, 3, 13, 13),
                                       (601, 4, 13, 13), (616, 4, 13, 13),
                                       (631, 4, 13, 13), (649, 4, 13, 13), (666, 6, 13, 13)), colorkey=(0, 0, 0))

        self.image = pygame.transform.scale(self.limages[0], (13 * 3, 13 * 3))
        self.rect = self.image.get_rect()
        self.index = 0
        self.alive = True
        self.boosted = False
        self.boosted_duration = 1440
        self.ghost_score = 0
        self.image_speed = 30
        self.move = True
        self.wait = 10 * 60

        self.rect.centery = 34.5 * 13
        self.rect.centerx = 27.5 * 13
        self.centerx = self.rect.centerx
        self.centery = self.rect.centery

        self.direction = "left"
        self.next_move = "none"
Example #21
0
    def __init__(self, player, tool):

        ''' Constructor '''

        # Call the parents constructor

        pygame.sprite.Sprite.__init__(self)

        # Load images from the sprite sheet

        self.spriteSheet = spritesheet.SpriteSheet("resources/images/tools.png")

        # Then set the images

        self.imageSwordR = self.spriteSheet.get_image(0,0,45,18)
        self.imageSwordL = pygame.transform.flip(self.imageSwordR, True, False)

        self.imageShieldR = self.spriteSheet.get_image(47,0,25,43)
        self.imageShieldL = pygame.transform.flip(self.imageShieldR, True, False)

        if tool == "sword":
            self.imageR = self.imageSwordR
            self.imageL = self.imageSwordL
            self.xOff = 14
            self.yOff = 40
            
        elif tool == "shield":
            self.imageR = self.imageShieldR
            self.imageL = self.imageShieldL
            self.xOff = 8
            self.yOff = 24

        self.player = player

        if self.player.direction == "R":
            self.image = self.imageR
            self.rect = self.image.get_rect()
            self.rect.topleft = (self.player.rect.x+self.xOff,self.player.rect.y+self.yOff)

        else:
            self.image = self.imageL
            self.rect = self.image.get_rect()
            self.rect.topleft = (self.player.rect.x-self.xOff,self.player.rect.y+self.yOff)
Example #22
0
    def __init__(self):

        # Call the parents constructor
        pygame.sprite.Sprite.__init__(self)

        # Set the image
        self.sprite_sheet = spritesheet.SpriteSheet("resources/light.png")
        self.image_r = self.sprite_sheet.get_image_srcalpha(0, 0, 160, 94)
        self.image_l = self.sprite_sheet.get_image_srcalpha(0, 94, 160, 94)

        self.image = self.image_r

        # Set the position
        self.rect = self.image.get_rect()

        # Create a hitmask
        self.hitmask_r = funcs.create_mask(self.image_r)
        self.hitmask_l = funcs.create_mask(self.image_l)

        self.hitmask = self.hitmask_r
Example #23
0
    def __init__(self, x, y, level):

        # Constructor

        # Call the parents constructor
        pygame.sprite.Sprite.__init__(self)

        # Set the level the keypad is located in
        self.level = level

        # Get the images for both when the keypad is active and not
        self.sprite_sheet = spritesheet.SpriteSheet("resources/keypad.png")

        self.image_off = self.sprite_sheet.get_image(0, 0, 12, 14)
        self.image_on = self.sprite_sheet.get_image(12, 0, 12, 14)

        self.image = self.image_off

        # Set the keypads rect and position
        self.rect = self.image.get_rect()
        self.rect.x = x
        self.rect.y = y

        # Keep track of where it started so when
        # we reset the level we know where to put it
        self.start_x = x
        self.start_y = y

        # Set references to the sounds the keypad makes
        self.beep_sound = self.level.sound_engine.beep_sound
        self.beep_sound.set_volume(0.25)
        self.hiss_sound = self.level.sound_engine.hiss_sound
        self.hiss_sound.set_volume(0.25)

        # So we don't keep on playing the sounds
        # this is used to check whether we've not
        # played the sound yet.
        self.played_sound = False

        # How much is required for the keypad to be activated
        self.progress = 0
Example #24
0
    def __init__(self, x, y, level):

        # Constructor

        # Call the parents constructor
        pygame.sprite.Sprite.__init__(self)

        self.level = level

        # Load the image
        self.sprite_sheet = spritesheet.SpriteSheet("resources/hguard.png")

        self.stand_img_r = self.sprite_sheet.get_image(0, 0, 24, 48)
        self.stand_img_l = pygame.transform.flip(self.stand_img_r, True, False)

        self.walking_frames_r = []
        self.walking_frames_l = []

        image = self.sprite_sheet.get_image(0, 0, 24, 48)
        self.walking_frames_r.append(image)
        image = self.sprite_sheet.get_image(24, 0, 24, 48)
        self.walking_frames_r.append(image)
        image = self.sprite_sheet.get_image(48, 0, 24, 48)
        self.walking_frames_r.append(image)
        image = self.sprite_sheet.get_image(72, 0, 24, 48)
        self.walking_frames_r.append(image)

        for frame in self.walking_frames_r:
            image = pygame.transform.flip(frame, True, False)
            self.walking_frames_l.append(image)

        self.image = self.stand_img_r

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

        self.start_x = x
        self.start_y = y

        self.arm = guard_parts.Arm(self)
Example #25
0
    def __init__(self, namesurf, surf):
        """Classe per il campo"""
        self.surf = spritesheet.SpriteSheet(surf, 'file')

        # Prendo le misure dell'immagine
        size = surf.get_size()

        self.square_size = 30

        # Calcolo il numero di righe e di colonne
        self.raws = range(int(size[1] / self.square_size))
        self.columns = range(int(size[0] / self.square_size))

        # Calcolo i colori dominanti attravero un algoritmo
        # chiamato "k-means clustering"
        self.color = clustering.Kmeans(5).run(namesurf)

        self.color.sort(key=lambda x: sum(x))
        self.color = self.color[::-1]

        self.back, self.cflags, self.lines, self.cmine, self.numbers = self.color
Example #26
0
    def __init__(self, guard):

        # Constructor

        # Call the parents constructor
        pygame.sprite.Sprite.__init__(self)

        # Set an attribute referencing the guard
        self.guard = guard

        # Load the image
        sprite_sheet = spritesheet.SpriteSheet("resources/exclamation.png")
        self.image = sprite_sheet.get_image_srcalpha(0, 0, 29, 43)

        # Set the rect and position
        self.rect = self.image.get_rect()
        self.rect.centerx = self.guard.rect.centerx
        self.rect.y = self.guard.rect.y - 36

        self.start_x = self.rect.x
        self.start_y = self.rect.y
Example #27
0
    def __init__(self, sprite_sheet_data, x, y, layer=1):

        # Call the parents constructor
        pygame.sprite.Sprite.__init__(self)

        sprite_sheet = spritesheet.SpriteSheet("resources/terrain.png")

        self.image = sprite_sheet.get_image(sprite_sheet_data[0],
                                            sprite_sheet_data[1],
                                            sprite_sheet_data[2],
                                            sprite_sheet_data[3])

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

        self.start_x = x
        self.start_y = y

        # The layer the tile is in
        self.layer = layer
Example #28
0
    def __init__(self):

        ''' Imp Constructor '''

        # Call the parents constructor
        pygame.sprite.Sprite.__init__(self)

        self.spriteSheet = spritesheet.SpriteSheet("resources/images/Imp.png")

        # Load the images
        image = self.spriteSheet.get_image(0,0,37,70)
        self.walkingFramesR.append(image)
        self.imageR = image
        self.imageL = pygame.transform.flip(image, True, False)
        image = self.spriteSheet.get_image(37,0,37,70)
        self.walkingFramesR.append(image)
        image = self.spriteSheet.get_image(74,0,40,70)
        self.walkingFramesR.append(image)
        image = self.spriteSheet.get_image(114,0,41,70)
        self.walkingFramesR.append(image)
        image = self.spriteSheet.get_image(155,0,41,70)
        self.walkingFramesR.append(image)
        image = self.spriteSheet.get_image(196,0,41,70)
        self.walkingFramesR.append(image)
        image = self.spriteSheet.get_image(237,0,40,70)
        self.walkingFramesR.append(image)
        image = self.spriteSheet.get_image(277,0,46,70)
        self.walkingFramesR.append(image)
        image = self.spriteSheet.get_image(323,0,37,70)
        self.walkingFramesR.append(image)
        image = self.spriteSheet.get_image(360,0,37,70)

        for frame in self.walkingFramesR:
            image = pygame.transform.flip(frame, True, False)
            self.walkingFramesL.append(image)

        self.image = self.imageR

        self.rect = self.image.get_rect()
Example #29
0
    def __init__(self, x, y, level):

        # Constructor

        # Call the parents constructor
        pygame.sprite.Sprite.__init__(self)

        # Set a reference to the level
        self.level = level

        # Load and set the sprites images
        self.sprite_sheet = spritesheet.SpriteSheet("resources/bomb.png")

        self.image_off = self.sprite_sheet.get_image(0, 0, 24, 24)
        self.image_on = self.sprite_sheet.get_image(24, 0, 24, 24)

        self.image = self.image_off

        # Set the rectangle, position and start position
        self.rect = self.image.get_rect()
        self.rect.x = x
        self.rect.y = y

        self.start_x = x
        self.start_y = y

        # A beep sound to be played when the bomb is activated
        self.beep_sound = self.level.sound_engine.beep_sound
        self.played_sound = False

        # How much is required for the bomb to be activated
        self.progress = 0

        # Bools to control the state of the bomb
        self.placed = False
        self.has_placed = False
Example #30
0
    def __init__(self, player, small):

        # Call the parents constructor
        pygame.sprite.Sprite.__init__(self)

        self.middle = 360 if small else 480

        # Load all of the components
        sprite_sheet = spritesheet.SpriteSheet("resources/hud_bar.png")
        self.image = sprite_sheet.get_image(0, 0, 480, 48)

        self.rect = self.image.get_rect()
        self.rect.centerx = self.middle
        self.rect.y = 672

        self.health_label = Label("Health:", 28, self.middle - 232, 680)
        self.stamina_label = Label("Stamina:", 28, self.middle + 8, 680)

        self.health_num = Label("100%", 28, self.middle - 112, 680)
        self.stamina_num = Label("100%", 28, self.middle + 128, 680)

        self.player = player

        self.y_pos = 492 if small else 672