Exemple #1
0
    def __init__(self, x, y):
        """
        Initializes the image at the given location.
        
        Args:
            x (int): the x coordinate to place the Sprite.
            y (int): the y coordinate to place the Sprite.
        """
        pygame.sprite.Sprite.__init__(self)

        #Get the ghost images from the Sprites folder
        script_dir = sys.path[0]
        image_directory = os.path.join(script_dir, 'Sprites/ghost2.bmp')
        
        # Get the 2 images for the sprite sheet. 
        sprite_sheet = SpriteSheet(image_directory)
        image = sprite_sheet.get_image(0, 0, 62, 75)
        self.__movement_frames.append(image)
        image = sprite_sheet.get_image(64 , 0, 62, 75)
        self.__movement_frames.append(image)
        
        
        # set the Player to the first sprite
        self.image = self.__movement_frames[self.__current_frame_reference]
        
        self.rect = self.image.get_rect()
        
        # Setting the location of rectangle
        self.rect.x = x
        self.rect.y = y
Exemple #2
0
 def __init__(self):
     super().__init__()
     #Motion variables
     self.change_x = 0
     self.change_y = 0
     self.boundary_top = 0
     self.boundary_bottom = 0
     self.boundary_left = 0
     self.boundary_right = 0
     #Level information
     self.level = None
     self.player = None
     #How fast this sprite attacks, in number of frames. 5 = every 5 frames
     self.attack_speed = 10
     #How many times updated has been called. reset to zero when it = attack speed
     self.updates = 0
     self.firing = False
     self.fired_ticks = 0
     sheet = SpriteSheet("enemy_sheet.png")
     self.frames_l = []
     self.frames_r = []
     image = sheet.get_image(0, 48, 64, 132)
     self.frames_l.append(image)
     image = sheet.get_image(68, 48, 64, 132)
     self.frames_l.append(image)
     image = pygame.transform.flip(self.frames_l[0], True, False)
     self.frames_r.append(image)
     image = pygame.transform.flip(self.frames_l[1], True, False)
     self.frames_r.append(image)
     self.direction = 'L'
     if self.direction == 'R':
         self.image = self.frames_r[0]
     if self.direction == 'L':
         self.image = self.frames_l[0]
     self.rect = self.image.get_rect()
class Platform(pygame.sprite.Sprite):
    """
    Class for basic platforms. Uses sprite_sheet.get
    to get the appropriate sprite according to defined values above
    """
    def __init__(self, sprite_sheet_data, x, y):
        super(Platform, self).__init__()

        self.sprite_sheet = SpriteSheet(path.join(img_dir, "tiles_spritesheet.png"))
        self.image = self.sprite_sheet.get_image(sprite_sheet_data[0],
                                                 sprite_sheet_data[1],
                                                 sprite_sheet_data[2],
                                                 sprite_sheet_data[3])

        self.sprite_sheet_data = sprite_sheet_data

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

    def collide(self):
        pass

    def update(self, dt):
        pass

    def set_image(self, block):
        self.image = self.sprite_sheet.get_image(block[0],
                                                 block[1],
                                                 block[2],
                                                 block[3])
Exemple #4
0
    def __init__(self):
        super().__init__()

        sprite_sheet = SpriteSheet("spritesheet.png")
        # Grab the image for this platform
        self.image = sprite_sheet.get_image(32, 128, 32, 32)

        self.imagesAndDurations = [(sprite_sheet.get_image(32, 96, 32, 32), 0.1),
                                   (sprite_sheet.get_image(63, 96, 32, 32), 0.5)]
Exemple #5
0
	def __init__(self):
		super().__init__()
		
		sprite_sheet = SpriteSheet("slime.png")
		
		scale = 5
		
		# Load right facing images
		image = sprite_sheet.get_image(0,0,32,24, scale)
		self.r_walking_frames.append(image)
		
		image = sprite_sheet.get_image(32,0,32,24, scale)
		self.r_walking_frames.append(image)
		
		image = sprite_sheet.get_image(64,0,32,24, scale)
		self.r_walking_frames.append(image)
		
		image = sprite_sheet.get_image(96,0,32,24, scale)
		self.r_walking_frames.append(image)
		
		image = sprite_sheet.get_image(128,0,32,24, scale)
		self.r_walking_frames.append(image)
		
		# Load right facing images, then flip
		# to face left.
		image = sprite_sheet.get_image(0,0,32,24,scale)
		image = pygame.transform.flip(image, True, False)
		self.l_walking_frames.append(image)
		
		image = sprite_sheet.get_image(32,0,32,24,scale)
		image = pygame.transform.flip(image, True, False)
		self.l_walking_frames.append(image)
		
		image = sprite_sheet.get_image(64,0,32,24,scale)
		image = pygame.transform.flip(image, True, False)
		self.l_walking_frames.append(image)
		
		image = sprite_sheet.get_image(96,0,32,24,scale)
		image = pygame.transform.flip(image, True, False)
		self.l_walking_frames.append(image)
		
		image = sprite_sheet.get_image(128,0,32,24,scale)
		image = pygame.transform.flip(image, True, False)
		self.l_walking_frames.append(image)
		
		# Set the image the player starts with
		self.image = self.r_walking_frames[0]
		
		# Set rect
		self.rect = self.image.get_rect()
Exemple #6
0
 def __init__(self, x, y, floor_locations):
     """
     Initializes the player class using a passes x and y coordinate
     
     Args:
         x (int): the horizontal location of where the sprite will appear.
         y (int): the vertical location of where the sprite will appear.
         floor_locations(list): Contains the y coordinates of the different 
             floors. This reduces the amount of hard coding necessary, and 
             is used in to set the ground for the Player at different 
             floors.
         
     Note:
         This init function is very reliant on the image mario_edited.png 
             being saved in a directory name Sprites.
             
         This function is also relies on a specific the specific sprite 
             sheet mario_edited.png in order to display the correct sprite.
     """
     pygame.sprite.Sprite.__init__(self)
     
     #get the player images from the Sprites folder
     script_dir = sys.path[0]
     image_directory = os.path.join(script_dir, 'Sprites/mario_edited.bmp')
     
     # get the four images for the sprite sheet. the first 3 images are 
     # walking animations while the last is the jumping sprite
     sprite_sheet = SpriteSheet(image_directory)
     image = sprite_sheet.get_image(0, 0, 50, 81)
     self.__movement_frames.append(image)
     image = sprite_sheet.get_image(50, 0, 50, 81)
     self.__movement_frames.append(image)
     image = sprite_sheet.get_image(107, 0, 50, 81)
     self.__movement_frames.append(image)
     image = sprite_sheet.get_image(162  , 0, 50, 81)
     self.__movement_frames.append(image)
     
     # set the Player to the first sprite
     self.image = self.__movement_frames[self.__current_frame_reference]
     
     self.rect = self.image.get_rect()
     
     #setting the location of rectangle
     self.rect.x = x
     self.rect.y = y
     
     # Set the boundaries for the floors.
     self.__floor_boundaries = floor_locations
    def __init__(self, player):
        """ Create level 1. """

        # Call the parent constructor
        Level.__init__(self, player)

        sprite_sheet = SpriteSheet("backgrounds.png")
        self.background = sprite_sheet.get_image(0, 63, 231, 63)
        self.background = pygame.transform.scale(self.background, (constants.SCREEN_WIDTH,
                                                                 constants.SCREEN_HEIGHT))
        self.background.set_colorkey(constants.WHITE)
        self.level_limit = -2500

        # Array with type of platform, and x, y location of the platform.
        level = [ [platforms.STONE_WALL, 30, 650]
                  ]

        

        # Go through the array above and add platforms
        for platform in level:
            block = platforms.Platform(platform[0])
            block.rect.x = platform[1]
            block.rect.y = platform[2]
            block.player = self.player
            self.platform_list.add(block)
Exemple #8
0
 def load_sprite(self):    
     # Load sword sprite
     sprite_sheet = SpriteSheet("resources/attacks/Sword_Update1.png")
     image = sprite_sheet.get_image(0, 0, 103, 32)
     self.sword_frame_r.append(image)
     image = pygame.transform.flip(image, True, False)
     self.sword_frame_l.append(image)
Exemple #9
0
class Basic_Enemy(pygame.sprite.Sprite):
    def __init__(self):
        super().__init__()

        self.change_x = 0
        self.change_y = 0
        self.frames = []

        self.level = None
        self.player = None
        self.called_times = 0
        self.sheet = SpriteSheet("platform_sheet.png")
        image = self.sheet.get_image(8, 85, 48, 48)
        self.frames.append(image)
        image = pygame.transform.flip(self.frames[0], True, False)
        self.frames.append(image)
        self.image = self.frames[0]
        self.rect = self.image.get_rect()

    def update(self):
        self.calc_grav()
        self.rect.x += self.change_x
        pos = self.rect.x + self.level.world_shift
        frame = (pos // 30) % len(self.frames)
        self.image = self.frames[frame]
        block_hit_list = pygame.sprite.spritecollide(self, self.level.platform_list, False)
        for block in block_hit_list:
            # If we are moving right,
            # set our right side to the left side of the item we hit
            if self.change_x > 0:
                self.rect.right = block.rect.left
                self.change_x = 1
            elif self.change_x < 0:
                # Otherwise if we are moving left, do the opposite.
                self.rect.left = block.rect.right
                self.change_x = -1
        self.rect.y += self.change_y
        # Check and see if we hit anything
        block_hit_list = pygame.sprite.spritecollide(self, self.level.platform_list, False)
        for block in block_hit_list:
            # Reset our position based on the top/bottom of the object.
            if self.change_y > 0:
                self.rect.bottom = block.rect.top
            elif self.change_y < 0:
                self.rect.top = block.rect.bottom
            # Stop our vertical movement
            self.change_y = 0
            if isinstance(block, platforms.MovingPlatform):
                self.rect.x += block.change_x

    def calc_grav(self):
        if self.change_y == 0:
            self.change_y = 1
        else:
            self.change_y += .35

        #see if we are on the bottom of the screen.
        if self.rect.y >= constants.SCREEN_HEIGHT - self.rect.height and self.change_y >= 0:
            self.change_y = 0
            self.rect.y = constants.SCREEN_HEIGHT - self.rect.height
Exemple #10
0
    def __init__(self):
        super().__init__()

        sprite_sheet = SpriteSheet("platform_sheet.png")
        # Grab the image for this platform
        self.image = sprite_sheet.get_image(156, 15, 40, 40)
        self.rect = self.image.get_rect()
    def __init__(self):
        super(WallSprite, self).__init__()

        sprite_sheet = SpriteSheet('images/tilesets/walls.png')#3 x 4
        horiz = [0, 32, 64]
        vert= [0, 32, 64, 96]
        self.image = sprite_sheet.get_image(random.choice(horiz),random.choice(vert),32,32)
    def __init__(self, sprite_sheet_data):
        """ Platform constructor. Assumes constructed with user passing in
            an array of 5 numbers like what's defined at the top of this
            code. """
        super().__init__()

        #sprite_sheet = SpriteSheet("tiles_spritesheet.png")
        sprite_sheet = SpriteSheet( \
                "images/green-hill-zone/level-fragments/27190.png")

        self.x0 = sprite_sheet_data[0];
        self.y0 = sprite_sheet_data[1];
        self.x1 = sprite_sheet_data[2];
        self.y1 = sprite_sheet_data[3];

        self.image = sprite_sheet.get_image(self.x0, \
                self.y0, self.x1-self.x0, self.y1-self.y0)

        if (len(sprite_sheet_data) > 4):
            a = sprite_sheet_data[4]
            b = sprite_sheet_data[5]
            self.image = pygame.transform.scale(self.image, (a,b))
        
        colorkey = self.image.get_at((0,0))
        self.image.set_colorkey(colorkey)

        self.rect = self.image.get_rect()
    def __init__(self):
        super(DoorSprite, self).__init__()

        sprite_sheet = SpriteSheet('images/tilesets/doors.png')#4 x 1
        horiz = [0, 32, 64, 96]
        vert= [0]

        self.image = sprite_sheet.get_image(random.choice(horiz),random.choice(vert),32,32)
    def __init__(self):
        super(FloorSprite, self).__init__()

        sprite_sheet = SpriteSheet('images/tilesets/floors.png')#7x6
        horiz = [0, 32, 64, 96, 128, 160, 192]
        vert= [0, 32, 64, 96, 128, 160]

        self.image = sprite_sheet.get_image(random.choice(horiz),random.choice(vert),32,32)
Exemple #15
0
	def __init__(self, blockers):
		super(Player, self).__init__()
		# sprite processing, probably need to move this
		# to a separate module
		
		sprite_sheet = SpriteSheet("spritesheet.png")
		# Load all right facing images into a list
		image = sprite_sheet.get_image(441, 2, 17, 21)
		self.initial_r.append(image)
		image = sprite_sheet.get_image(464, 2, 16, 21)
		self.initial_r.append(image)
		image = sprite_sheet.get_image(648, 2, 16, 21)
		self.initial_r.append(image)
		image = sprite_sheet.get_image(671, 2, 16, 21)
		self.initial_r.append(image)
		
		# Load all the right facing images, then flip them
		# to face left.
		for image in self.initial_r:
			image = pg.transform.flip(image, True, False)
			self.initial_l.append(image)

		for image in self.initial_r:
			image.set_colorkey(c.SPRITESHEET_BACKGROUND)
			size = image.get_size()
			bigger_img = pg.transform.scale(image, (int(size[0]*self.factor),
														int(size[1]*self.factor)))
			self.walking_frames_r.append(bigger_img)

		for image in self.initial_l:
			image.set_colorkey(c.SPRITESHEET_BACKGROUND)
			size = image.get_size()
			bigger_img = pg.transform.scale(image, (int(size[0]*self.factor),
														int(size[1]*self.factor)))
			self.walking_frames_l.append(bigger_img)

		# set starting player image
		self.image = self.walking_frames_r[0]

		# set reference to image rect
		# spawn location:
		self.rect = self.image.get_rect(x = 200, y = 200)
		self.x_vel = 0
		self.y_vel = 0
		self.blockers = blockers
Exemple #16
0
    def __init__(self):
        pygame.sprite.Sprite.__init__(self)
        self.walking_frames_d = [] # Images for animated walking.

        sprite_sheet = SpriteSheet("spritesheet.png")
        image = sprite_sheet.get_image(19, 0, 54, 96)
        self.walking_frames_d.append(image)

        image = sprite_sheet.get_image(169, 0, 54, 96) # Adds up by 150 everytime
        self.walking_frames_d.append(image)

        image = sprite_sheet.get_image(319, 0, 54, 96)
        self.walking_frames_d.append(image)

        image = sprite_sheet.get_image(469, 0, 54, 96)
        self.walking_frames_d.append(image)

        image = sprite_sheet.get_image(619, 0, 54, 96)
        self.walking_frames_d.append(image)

        image = sprite_sheet.get_image(769, 0, 54, 96)
        self.walking_frames_d.append(image)

        image = sprite_sheet.get_image(919, 0, 54, 96)
        self.walking_frames_d.append(image)

        self.image = self.walking_frames_d[0]
        self.rect = self.image.get_rect()
        self.rect.center = (WIDTH / 2, HEIGHT / 2)
        self.speedx = 0
        self.speedy = 0

        self.last_update = pygame.time.get_ticks()
        self.frame = 0
Exemple #17
0
    def __init__(self, sprite_sheet_data):
        pygame.sprite.Sprite.__init__(self)

        sprite_sheet = SpriteSheet("tiles_spritesheet.png")
        # grab image for this platform
        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()
Exemple #18
0
 def __init__(self, sprite_sheet_data, x=0, y=0):
     super().__init__()
     sprite_sheet = SpriteSheet("platform_sheet.png")
     # Grab the image for this platform
     self.image = sprite_sheet.get_image(sprite_sheet_data[0], sprite_sheet_data[1], sprite_sheet_data[2], sprite_sheet_data[3])
     # This platform can set its own position based on passed-in args
     self.rect = self.image.get_rect()
     self.x = x
     self.y = y
Exemple #19
0
 def __init__(self, sprite_sheet_data):
   pygame.sprite.Sprite.__init__(self)
   sprite_sheet = SpriteSheet("elevator.png")
   # grab the image for the elevator
   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.router = ElevatorData(FLOORS)
   self.path = []
   self.wait = 0
Exemple #20
0
    def __init__(self, sprite_sheet_data):
        pygame.sprite.Sprite.__init__(self)

        sprite_sheet = SpriteSheet("Levels/tiles_spritesheet.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()
Exemple #21
0
	def __init__(self, sprite_sheet_data):
		pygame.sprite.Sprite.__init__(self)
		
		sprite_sheet = SpriteSheet(sprite_sheet_data[0])
		# Grab the image for this platform
		self.image = sprite_sheet.get_image(sprite_sheet_data[1],
											sprite_sheet_data[2],
											sprite_sheet_data[3],
											sprite_sheet_data[4])

		self.rect = self.image.get_rect()
    def __init__(self, sprite_sheet_data):

        super(Platform, self).__init__()
        self.x_velocity = 0
        self.y_velocity = 0
        sprite_sheet = SpriteSheet(TILES_SS_PATH)
        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()
    def __init__(self, shooter_name, direction, ix, iy, speed, damage, range, size):
        # Call the parent class (Sprite) constructor
        super().__init__()

        self.direction = direction

        # inherited x & y velocities
        if self.direction == "U" or self.direction == "D":
            self.ix = ix
        else:
            self.ix = 0

        if self.direction == "L" or self.direction == "R":
            self.iy = iy
        else:
            self.iy = 0

        self.speed = speed
        self.damage = damage
        self.range = range

        sprite_sheet = SpriteSheet("res/img/space.png")

        if shooter_name == "Luci":
            if self.direction == "U":
                image = sprite_sheet.get_image(74, 269, 27, 44)
                self.image = pygame.transform.scale(image, size[0])
            elif self.direction == "D":
                image = sprite_sheet.get_image(168, 269, 27, 44)
                self.image = pygame.transform.scale(image, size[0])
            elif self.direction == "L":
                image = sprite_sheet.get_image(112, 277, 44, 26)
                self.image = pygame.transform.scale(image, size[1])
            elif self.direction == "R":
                image = sprite_sheet.get_image(18, 277, 44, 26)
                self.image = pygame.transform.scale(image, size[1])
        else:
            if self.direction == "U":
                image = sprite_sheet.get_image(75, 314, 27, 44)
                self.image = pygame.transform.scale(image, size[0])
            elif self.direction == "D":
                image = sprite_sheet.get_image(168, 320, 27, 44)
                self.image = pygame.transform.scale(image, size[0])
            elif self.direction == "L":
                image = sprite_sheet.get_image(110, 324, 44, 26)
                self.image = pygame.transform.scale(image, size[1])
            elif self.direction == "R":
                image = sprite_sheet.get_image(20, 324, 44, 26)
                self.image = pygame.transform.scale(image, size[1])

        self.rect = self.image.get_rect()
Exemple #24
0
 def __init__(self, sprite_sheet_data):
     """ Platform constructor. Assumes constructed with user passing in
         an array of 5 numbers like what's defined at the top of this
         code. """
     pygame.sprite.Sprite.__init__(self)
     sprite_sheet = SpriteSheet('resources/My_first_sprite_sheet.png')
     # Grab the image for this platform
     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()
Exemple #25
0
class Player(pg.sprite.Sprite):
    def __init__(self, x, y, blockers):
        super(Player, self).__init__()
        self.sheet = SpriteSheet('p1_walk.png')
        self.image = self.sheet.get_image(4, 2, 17, 21)
        self.image.set_colorkey(c.SPRITESHEET_BACKGROUND)
        self.rect = self.image.get_rect(x=x, y=y)
        self.x_vel = 0
        self.y_vel = 0
        self.blockers = blockers

        self.grav = 0.4
        self.fall = False
        self.speed = c.PLAYER_SPEED

    def physics_update(self):
        """If player is falling, add gravity to the current y velocity."""
        if self.fall:
            self.y_vel += self.grav
        else:
            self.y_vel = 0

    def update(self, keys):
        """
        Set player velocity by keys, move by velocity, check
        for collision.  It's important to check collisions
        for both on the x-axis and y-axis, rather than just once.
        """
        self.x_vel = 0
        if keys[pg.K_LEFT]:
            self.x_vel -= self.speed
        elif keys[pg.K_RIGHT]:
            self.x_vel += self.speed
        else:
            self.x_vel = 0

        self.rect.x += self.x_vel
        for blocker in self.blockers:
            if self.rect.colliderect(blocker):
                self.rect.x -= self.x_vel
                self.x_vel = 0

        self.rect.y += self.y_vel
        for blocker in self.blockers:
            if self.rect.colliderect(blocker):
                self.rect.y -= self.y_vel
                self.y_vel = 0

    def draw(self, surface):
        """
        Blit player image to screen.
        """
        surface.blit(self.image, self.rect)
Exemple #26
0
    def __init__(self, sprite_sheet_data):
        """ Platform constructor. Assumes constructed with user passing in
            an array of 5 numbers like what's defined at the top of this
            code. """
        super().__init__()

        sprite_sheet = SpriteSheet("tiles_spritesheet.png")
        # Grab the image for this platform
        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()
Exemple #27
0
 def __init__(self, cx, cy, player):
     super().__init__()
     sheet = SpriteSheet("enemy_sheet.png")
     self.image = sheet.get_image(0, 208, 48, 48)
     self.rect = self.image.get_rect()
     self.change_x = cx
     self.change_y = cy
     self.player = player
     self.player_g = pygame.sprite.Group()
     self.player_g.add(self.player)
     self.level = self.player.level
     self.rect.y = 0
     self.rect.x = 0
Exemple #28
0
    def __init__(self, sprite_sheet_data):
        """ Hazard constructor. Assumes constructed with user passing in
            an array of 5 numbers like what's defined at the top of this
            cod. """
        pygame.sprite.Sprite.__init__(self)

        enemy_sheet = SpriteSheet("enemy1.png")
        # Grab the image for this enemy
        self.image = enemy_sheet.get_image(enemy_sheet_data[0],
                                            enemy_sheet_data[1],
                                            enemy_sheet_data[2],
                                            enemy_sheet_data[3])
        self.rect = self.image.get_rect()        
Exemple #29
0
    def __init__(self, sprite_sheet_data):
        """ Block constructor. Assumes constructed with user passing in
            an array of 4 numbers like what's defined at the top of this
            code. """
        pygame.sprite.Sprite.__init__(self)
 
        sprite_sheet = SpriteSheet("Resources/Sprites/spritesheet_tiles.png")
        # Grab the image for this platform
        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()
Exemple #30
0
 def load_sprite(self, file):
     # Load Movement sprites right side
     sprite_sheet = SpriteSheet(file)
     image = sprite_sheet.get_image(0, 0, 120, 165)
     image = pygame.transform.scale(image, (64, 88))
     self.walking_frames_r.append(image)
     image = sprite_sheet.get_image(125, 0, 120, 165)
     image = pygame.transform.scale(image, (64, 88))
     self.walking_frames_r.append(image)
     image = sprite_sheet.get_image(0, 0, 120, 165)
     image = pygame.transform.scale(image, (64, 88))
     self.walking_frames_r.append(image)
     image = sprite_sheet.get_image(250, 0, 120, 165)
     image = pygame.transform.scale(image, (64, 88))
     self.walking_frames_r.append(image)
     
     # Load Movement Sprites Left side
     image = sprite_sheet.get_image(0, 0, 120, 165)
     image = pygame.transform.flip(image, True, False)
     image = pygame.transform.scale(image, (64, 88))
     self.walking_frames_l.append(image)
     image = sprite_sheet.get_image(125, 0, 120, 165)
     image = pygame.transform.flip(image, True, False)
     image = pygame.transform.scale(image, (64, 88))
     self.walking_frames_l.append(image)
     image = sprite_sheet.get_image(0, 0, 120, 165)
     image = pygame.transform.flip(image, True, False)
     image = pygame.transform.scale(image, (64, 88))
     self.walking_frames_l.append(image)
     image = sprite_sheet.get_image(250, 0, 120, 165)
     image = pygame.transform.flip(image, True, False)
     image = pygame.transform.scale(image, (64, 88))
     self.walking_frames_l.append(image)
     
     # Load jumping sprite
     image = sprite_sheet.get_image(375, 0, 120, 165)
     image = pygame.transform.scale(image, (64, 88))
     self.jumping_frames_r.append(image)
     self.jumping_frames_r.append(image)
     image = pygame.transform.flip(image, True, False)
     self.jumping_frames_l.append(image)
     self.jumping_frames_l.append(image)
Exemple #31
0
    def __init__(self, ai_settings, screen):
        """Initialize the alien, and set its starting position."""
        super(Pinky, self).__init__()
        self.screen = screen
        self.ai_settings = ai_settings
        self.frame = 0
        self.redr = []
        self.redl = []
        self.redu = []
        self.redd = []
        self.redblue = []

        # Load the alien image, and set its rect attribute.
        sprite_sheet = SpriteSheet('images/spreadsheet.png')

        image = sprite_sheet.get_image(160, 128, 32, 32)
        self.redr.append(image)
        image = sprite_sheet.get_image(160, 160, 32, 32)
        self.redr.append(image)

        image = sprite_sheet.get_image(160, 128, 32, 32)
        image = pygame.transform.flip(image, 1, 0)
        self.redl.append(image)
        image = sprite_sheet.get_image(160, 160, 32, 32)
        image = pygame.transform.flip(image, 1, 0)
        self.redl.append(image)

        image = sprite_sheet.get_image(160, 192, 32, 32)
        self.redu.append(image)
        image = sprite_sheet.get_image(160, 224, 32, 32)
        self.redu.append(image)

        image = sprite_sheet.get_image(64, 224, 32, 32)
        image = pygame.transform.rotate(image, 90)
        self.redblue.append(image)
        image = sprite_sheet.get_image(96, 224, 32, 32)
        image = pygame.transform.rotate(image, 90)
        self.redblue.append(image)

        sprite_sheet = SpriteSheet('images/spreadsheet.png')
        image = sprite_sheet.get_image(192, 0, 32, 32)
        self.redd.append(image)
        image = sprite_sheet.get_image(192, 32, 32, 32)
        self.redd.append(image)

        self.image = self.redr[0]

        self.rect = self.image.get_rect()

        # Start each new alien near the top left of the screen.
        self.rect.x = self.rect.width
        self.rect.y = self.rect.height

        self.rect.centery = 250
        self.rect.centerx = 300

        self.centery = self.rect.centery
        self.centerx = self.rect.centerx

        # Store the alien's exact position.
        self.x = float(self.rect.x)

        self.moving_right = False
        self.moving_left = False
        self.moving_up = True
        self.moving_down = False
        self.lastmove = 5
Exemple #32
0
    def __init__(self):
        """ Constructor function """

        # Call the parent's constructor
        super().__init__()

        # -- Attributes
        # set scores for player
        self.scores = 0
        # set kills for player
        self.kills = 0
        # set health number for player
        self.health_number = 100
        # set restore health percentage
        self.give_health = 20
        # set damage for enemy
        self.general_enemy_dmg = 20
        self.special_enemy_dmg = 40
        self.false_point_dmg = 40
        # Set speed vector of player
        self.change_x = 0
        self.change_y = 0

        # This holds all the images for the animated walk left/right
        # of our player
        self.walking_frames_l = []
        self.walking_frames_r = []

        # What direction is the player facing?
        self.direction = "R"

        # removing special enemy
        # FOR LEVEL 11
        # Vocal W
        self.special_remove_WA = None
        self.special_remove_WO = None

        # Vocal N
        self.special_remove_N = None

        # List of sprites we can bump against
        self.level = None

        sprite_sheet = SpriteSheet("spritesheet/player.png")
        # Load all the right facing images into a list
        image = sprite_sheet.get_image(10, 7, 66, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(85, 7, 66, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(160, 7, 66, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(10, 106, 66, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(85, 106, 66, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(160, 106, 66, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(10, 208, 66, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(85, 208, 66, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(160, 208, 66, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(10, 305, 66, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(85, 305, 66, 90)
        self.walking_frames_r.append(image)

        # Load all the right facing images, then flip them
        # to face left.
        image = sprite_sheet.get_image(10, 7, 66, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(85, 7, 66, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(160, 7, 66, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(10, 106, 66, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(85, 106, 66, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(160, 106, 66, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(10, 208, 66, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(85, 208, 66, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(160, 208, 66, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(10, 305, 66, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(85, 305, 66, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)

        # Set the image the player starts with
        self.image = self.walking_frames_r[0]

        # Set a reference to the image rect.
        self.rect = self.image.get_rect()
Exemple #33
0
    def __init__(self):
        """ Constructor function """

        # Call the parent constructor
        super().__init__()

        sprite_sheet = SpriteSheet("p1_walk.png")
        # Load all the right facing images into a list
        image = sprite_sheet.get_image(0, 0, 66, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(66, 0, 66, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(132, 0, 67, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(0, 93, 66, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(66, 93, 66, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(132, 93, 72, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(0, 186, 70, 90)
        self.walking_frames_r.append(image)

        #load all the right facing images and flip them to face left

        image = sprite_sheet.get_image(0, 0, 66, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(66, 0, 66, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(132, 0, 67, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(0, 93, 66, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(66, 93, 66, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(132, 93, 72, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(0, 186, 70, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)

        #set the image the player starts with
        self.image = self.walking_frames_r[0]

        #set a reference to the image rect
        self.rect = self.image.get_rect()
Exemple #34
0
    def __init__(self):
        #constructor function
        super(Player, self).__init__()

        # attributes
        # set vector speed
        self.change_x = 0
        self.change_y = 0

        # this holds all the animated images for walking left/right
        self.walking_frames_l = []
        self.walking_frames_r = []

        # What direction is the player facing?
        self.direction = "R"

        # list of sprites we can bump up against
        self.level = None

        sprite_sheet = SpriteSheet('link_sprite.png')
        # Load all the right facing images into a list
        #image = sprite_sheet.get_image(18,750,104,148)
        #self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(23, 99, 41, 69)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(113, 102, 38, 66)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(205, 106, 40, 59)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(299, 102, 35, 65)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(390, 106, 32, 61)
        self.walking_frames_r.append(image)

        # Load all the right facing images, then flip to face left

        #image = sprite_sheet.get_image(18,750,104,148)
        #image = pygame.transform.flip(image, True, False)
        #self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(23, 99, 41, 69)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(113, 102, 38, 66)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(205, 106, 40, 59)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(299, 102, 35, 65)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(390, 106, 32, 61)
        image = pygame.transform.flip(image, True, False)

        # Set the image player starts with
        self.image = self.walking_frames_r[0]

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

        # -- Weapon & Shield init
        self.shield = 100
        self.shoot_delay = 250
        self.last_shot = pygame.time.get_ticks()
        self.lives = 3
        self.hidden = False
        self.hide_timer = pygame.time.get_ticks()
    def __init__(self, sprite_sheet_walking):
        """Constructor, pass in the sprite sheet of the walking animation"""

        # call the parent class Sprite Constructor
        super().__init__()

        # Lists to hold our walking and jumping animations
        self.walking = False
        self.frame = 0
        self.walking_frames_r = []
        self.walking_frames_l = []
        self.walking_direction = "r"

        # Load in all images to create Animation
        # - Walking Right
        sprite_sheet = SpriteSheet(sprite_sheet_walking)
        image = sprite_sheet.get_image(0, 0, 66, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(66, 0, 66, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(132, 0, 66, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(0, 93, 66, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(66, 93, 66, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(132, 93, 66, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(0, 186, 66, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(66, 186, 66, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(132, 186, 66, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(0, 280, 66, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(67, 280, 66, 90)
        self.walking_frames_r.append(image)

        # - Walking Left
        image = sprite_sheet.get_image(0, 0, 66, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(66, 0, 66, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(132, 0, 66, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(0, 93, 66, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(66, 93, 66, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(132, 93, 66, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(0, 186, 66, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(66, 186, 66, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(132, 186, 66, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(0, 280, 66, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(67, 280, 66, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)

        self.image = self.walking_frames_r[0]

        # Fetch the rectangular object that has the dimensions of the image.
        # Update the position of this object by setting the values
        # of rect.x and rect.y
        self.rect = self.image.get_rect()

        # starting location
        self.rect.x = 0
        self.rect.y = constants.SCREEN_HEIGHT - self.rect.height

        # set inital velocity to O - or not moving
        self.velocity = 0
Exemple #36
0
    def __init__(self):
        """ Constructor function """

        # Call the parent's constructor
        pygame.sprite.Sprite.__init__(self)

        sprite_sheet = SpriteSheet(
            os.path.join("ressources", "images", "player", "sprite-sheet.png"))

        # Load all the idle images right
        image = sprite_sheet.get_image(0, 0, 50, 37)
        self.idle_frames_r.append(image)
        image = sprite_sheet.get_image(50, 0, 50, 37)
        self.idle_frames_r.append(image)
        image = sprite_sheet.get_image(100, 0, 50, 37)
        self.idle_frames_r.append(image)
        image = sprite_sheet.get_image(150, 0, 50, 37)
        self.idle_frames_r.append(image)
        image = sprite_sheet.get_image(0, 0, 50, 37)
        self.idle_frames_r.append(image)
        image = sprite_sheet.get_image(50, 0, 50, 37)
        self.idle_frames_r.append(image)
        image = sprite_sheet.get_image(100, 0, 50, 37)
        self.idle_frames_r.append(image)
        image = sprite_sheet.get_image(150, 0, 50, 37)
        self.idle_frames_r.append(image)

        # Load all the idle images left
        image = sprite_sheet.get_image(0, 0, 50, 37)
        image = pygame.transform.flip(image, True, False)
        self.idle_frames_l.append(image)
        image = sprite_sheet.get_image(50, 0, 50, 37)
        image = pygame.transform.flip(image, True, False)
        self.idle_frames_l.append(image)
        image = sprite_sheet.get_image(100, 0, 50, 37)
        image = pygame.transform.flip(image, True, False)
        self.idle_frames_l.append(image)
        image = sprite_sheet.get_image(150, 0, 50, 37)
        image = pygame.transform.flip(image, True, False)
        self.idle_frames_l.append(image)
        image = sprite_sheet.get_image(0, 0, 50, 37)
        image = pygame.transform.flip(image, True, False)
        self.idle_frames_l.append(image)
        image = sprite_sheet.get_image(50, 0, 50, 37)
        image = pygame.transform.flip(image, True, False)
        self.idle_frames_l.append(image)
        image = sprite_sheet.get_image(100, 0, 50, 37)
        image = pygame.transform.flip(image, True, False)
        self.idle_frames_l.append(image)
        image = sprite_sheet.get_image(150, 0, 50, 37)
        image = pygame.transform.flip(image, True, False)
        self.idle_frames_l.append(image)

        # Load all the right facing images
        image = sprite_sheet.get_image(0, 37, 50, 37)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(50, 37, 50, 37)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(100, 37, 50, 37)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(150, 37, 50, 37)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(200, 37, 50, 37)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(250, 37, 50, 37)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(300, 37, 50, 37)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(350, 37, 50, 37)
        self.walking_frames_r.append(image)

        # Load all the right facing images, then flip them to face left.
        image = sprite_sheet.get_image(0, 37, 50, 37)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(50, 37, 50, 37)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(100, 37, 50, 37)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(150, 37, 50, 37)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(200, 37, 50, 37)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(250, 37, 50, 37)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(300, 37, 50, 37)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(350, 37, 50, 37)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        """for i in range(8):
            self.idle_frames_l[i].scroll(-16,-5)
            self.idle_frames_r[i].scroll(-16,-5)
            self.walking_frames_l[i].scroll(-16,-5)
            self.walking_frames_r[i].scroll(-16,-5)"""

        # Set the image the player starts with
        self.image = self.walking_frames_r[0]

        # Set a referance to the image rect.
        self.rect = self.image.get_rect()  #rect size: 50,37
        #self.rect.size = (20,30)

        self.diff_x = 15
        self.diff_y = 3
        self.hitbox = Hitbox(20, 31, self.rect.x + self.diff_x,
                             self.rect.y + self.diff_y)
        #self.hitbox_rect = pygame.Rect(self.rect.x+self.diff_x,self.rect.y+self.diff_y,20,31) #difference: 15,3
        self.hitbox_rect = self.hitbox.get_rect()
Exemple #37
0
    def __init__(self):
        """ Fonction initial (constructeur) """

        # Appelle le parent constructeur
        pygame.sprite.Sprite.__init__(self)

        sprite_sheet = SpriteSheet("data/decoupage_orange.png")

        #Standing
        image = sprite_sheet.get_image(0, 0, 135, 135)
        self.standing_frame.append(image)

        #Standing_l
        image = sprite_sheet.get_image(0, 0, 135, 135)
        image = pygame.transform.flip(image, True, False)
        self.standing_frame_l.append(image)

        # Charge toutes les images à droite
        image = sprite_sheet.get_image(135, 0, 135, 135)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(270, 0, 135, 135)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(405, 0, 135, 135)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(540, 0, 135, 135)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(675, 0, 135, 135)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(810, 0, 135, 135)
        self.walking_frames_r.append(image)

        # Load all the right facing images, then flip them
        image = sprite_sheet.get_image(135, 0, 135, 135)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(270, 0, 135, 135)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(405, 0, 135, 135)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(540, 0, 135, 135)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(675, 0, 135, 135)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(810, 0, 135, 135)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)

        #Jumping
        image = sprite_sheet.get_image(945, 0, 135, 135)
        self.jumping_frame.append(image)

        #Jumping_l
        image = sprite_sheet.get_image(945, 0, 135, 135)
        image = pygame.transform.flip(image, True, False)
        self.jumping_frame_l.append(image)

        # Defini l'image avec laquelle on démarre
        self.image = self.standing_frame[0]

        # reference à image rect
        self.rect = self.image.get_rect()
    def init_game(self):
        sprite_sheet = SpriteSheet("tiles_spritesheet.png")
        banan_sheet = SpriteSheet("Banan.png")
        self.paddle_sprt = sprite_sheet.get_image(648, 648, 70, 40)
        self.ball_sprt = banan_sheet.get_image(0, 0, 32, 32)
        self.fireball_sprt = banan_sheet.get_image(0, 32, 32, 32)
        self.fireball_aftersprt = banan_sheet.get_image(0, 64, 32, 32)
        pygame.display.set_caption(self.caption_text)

        #set lives state and score
        self.fps = 50
        self.lives = 3
        self.score = 0
        self.state = STATE_BALL_IN_PADDLE
        self.double_chance = .0
        self.power_chance = .2
        self.start_message = ""
        self.ball_speed = BALL_SPEED
        self.max_paddle_x = MAX_PADDLE_X
        self.start_total_time = 9999999

        #create paddle, ball, collision object
        self.paddle = pygame.Rect(300, PADDLE_Y, PADDLE_WIDTH, PADDLE_HEIGHT)
        self.ball = pygame.Rect(300, PADDLE_Y - BALL_DIAMETER, BALL_DIAMETER,
                                BALL_DIAMETER)

        #Create banner to be behind text for readability
        self.banner = pygame.Rect(0, SCREEN_SIZE[1] / 2 - BANNER_HEIGHT / 2,
                                  SCREEN_SIZE[0], BANNER_HEIGHT)

        #Create sprites
        self.paddle_image = pygame.transform.scale(
            self.paddle_sprt, (self.paddle.width, self.paddle.height))
        self.ball_image = pygame.transform.scale(
            self.ball_sprt, (self.ball.width, self.ball.height))
        self.fireball_image = pygame.transform.scale(
            self.fireball_sprt, (self.ball.width, self.ball.height))
        self.fireball_afterimage = pygame.transform.scale(
            self.fireball_aftersprt, (self.ball.width, self.ball.height))

        #Set starting angle, velocity, and setup powerups
        theta = random.random() * math.pi * (90.) / 180. + math.pi * 45. / 180.
        self.ball_vel = [
            self.ball_speed * math.cos(theta),
            self.ball_speed * -math.sin(theta)
        ]
        self.ball_left = float(
            self.ball.left)  #save float versions of ball location
        self.ball_top = float(
            self.ball.top)  #save float versions of ball location
        self.ball_vel_orig = [
            self.ball_speed * math.cos(theta),
            self.ball_speed * -math.sin(theta)
        ]  #Save initial velocity
        self.pows = []  #list of PowerUp instances
        self.powtypes = [
            'fire', 'grow', 'shrink', 'airbounce', 'speedup', 'slowdown'
        ]  # list of powerup types
        self.powdict = {
            'fire': FIREBLAZE,
            'grow': GROW,
            'shrink': SHRINK,
            'airbounce': AIRBOUNCE,
            'speedup': SPEEDUP,
            'slowdown': SLOWDOWN
        }  #Dictionary for powerups their shape and their colors
        self.totfiretime = 5 * self.fps  #50 frames a second, so 5 seconds
        self.totgrowtime = 8 * self.fps  #8 seconds
        self.totshrinktime = 8 * self.fps  #8 seconds
        self.totspeeduptime = 7 * self.fps  #7 seconds
        self.totslowdowntime = 7 * self.fps  #7 seconds
        self.create_bricks()  #Run create_bricks method
# initialize screen
screenx = 800
screeny = 700
screen = pygame.display.set_mode((screenx, screeny))
bgcolor = (100, 20, 20)
gamearea = pygame.Surface((520, 680))
gacolor = (150, 200, 250)

# initialize fps
clock = pygame.time.Clock()


# initialize enemy sprite
sprite_sheet = SpriteSheet("ghost.png")
enemy_sprite = sprite_sheet.get_image(0, 0, 40, 40)

# initializes stage, player
stage = stages.Stage_01(gamearea)      
reisen = Player(gamearea)

# allocate an array of enemies
# enemies = []

# allocate arrays of player and enemy bullets
player_bullets = []
enemy_bullets = []

# initalize bullet firing cooldown
cd = 0
Exemple #40
0
    def __init__(self):
 
        super(Player, self).__init__()
        
        self.sword_sound = pygame.mixer.Sound("game/EspadaSonido.wav")
        self.shuriken_sound = pygame.mixer.Sound("game/shuriken.wav")
        
        # Salud del personaje
        self.health = 5
        
        # Cantidad de Shurikens
        self.shurikens = 10
        
        # Velocidad del personaje
        self.change_x = 0
        self.change_y = 0
 
        # Listas de las animaciones del protagonista
        self.walking_frames_l = []
        self.walking_frames_r = []
        self.stopped_frames_l = []
        self.stopped_frames_r = []
        self.stoppedjumping_frames_l = []
        self.stoppedjumping_frames_r = []
        self.falling_frames_l = []
        self.falling_frames_r = []
        self.fall_frames_r = []
        self.fall_frames_l = []
        self.running_frames_r = []
        self.running_frames_l = []
        self.crouched_frames_r = []
        self.crouched_frames_l = []
        self.crouchedwalking_frames_l = []
        self.crouchedwalking_frames_r = []
        self.attack_frames_l = []
        self.attack_frames_r = []
        self.attackshuriken_frames_l = []
        self.attackshuriken_frames_r = []
        self.hurt_frames_r = []
        self.hurt_frames_l = []
        self.die_frames_l = []
        self.die_frames_r = []
        
        # Numero de Frame a mostrar
        self.frame=0
        
        # Direccion del personaje
        self.direction = "R"
        
        # Accion del personaje
        self.action = "S"
 
        # Lista de sprites que podemos impactar
        self.level = None
        
        # Lista de shurikens arrojados
        self.shuriken_list = pygame.sprite.Group()
        
        # Sprite de ataque
        self.attack_list = pygame.sprite.Group()
        
        if isinstance(self, enemy.Enemy):
            self.image_file = "game/enemy.png"
        else:
            self.image_file = "game/ninja.png"
        
        # Cargar hoja de sprites
        sprite_sheet = SpriteSheet(self.image_file)
        self.spritesheet = sprite_sheet
        
        # Esta muerto?
        self.death=False
        
        # Cargar la cara derecha de la accion WALKING
        image = sprite_sheet.get_image(1, 76, 37, 58)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(45, 76, 33, 58)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(84, 76, 46, 58)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(132, 76, 41, 58)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(176, 76, 39, 58)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(220, 76, 35, 58)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(260, 76, 42, 58)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(308, 76, 44, 58)
        self.walking_frames_r.append(image)        
 
        # Cargar la cara izquierda de la accion WALKING
        image = sprite_sheet.get_image(1, 76, 37, 58)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(45, 76, 33, 58)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(84, 76, 46, 58)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(132, 76, 41, 58)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(176, 76, 39, 58)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)        
        image = sprite_sheet.get_image(220, 76, 35, 58)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(260, 76, 42, 58)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(308, 76, 44, 58)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        
        # Cargar ambas caras de la accion STOPPED
        image = sprite_sheet.get_image(3, 3, 29, 61)
        self.stopped_frames_r.append(image)
        
        image = sprite_sheet.get_image(3, 3, 29, 61)
        image = pygame.transform.flip(image, True, False)
        self.stopped_frames_l.append(image)        
 
        # Cargar ambas caras de STOPPED JUMPING
        image = sprite_sheet.get_image(252,301,39,40)
        self.stoppedjumping_frames_r.append(image)
        image = sprite_sheet.get_image(300,281,32,60)
        self.stoppedjumping_frames_r.append(image)
        image = sprite_sheet.get_image(337,281,31,52)
        self.stoppedjumping_frames_r.append(image)
        image = sprite_sheet.get_image(134,286,39,49)
        self.stoppedjumping_frames_r.append(image)        
        image = sprite_sheet.get_image(374,283,31,39)
        self.stoppedjumping_frames_r.append(image)
        
        image = sprite_sheet.get_image(252,301,39,40)
        image = pygame.transform.flip(image, True, False)
        self.stoppedjumping_frames_l.append(image)
        image = sprite_sheet.get_image(300,281,32,60)
        image = pygame.transform.flip(image, True, False)
        self.stoppedjumping_frames_l.append(image)      
        image = sprite_sheet.get_image(337,281,31,52)
        image = pygame.transform.flip(image, True, False)
        self.stoppedjumping_frames_l.append(image)
        image = sprite_sheet.get_image(134,286,39,49)
        image = pygame.transform.flip(image, True, False)
        self.stoppedjumping_frames_l.append(image)           
        image = sprite_sheet.get_image(374,283,31,39)
        image = pygame.transform.flip(image, True, False)
        self.stoppedjumping_frames_l.append(image)
        
        # Cargar ambas caras de FALLING
        image = sprite_sheet.get_image(3,355,39,40)
        self.falling_frames_r.append(image)
        image = sprite_sheet.get_image(49,355,40,44)
        self.falling_frames_r.append(image)
        image = sprite_sheet.get_image(92,357,40,43)
        self.falling_frames_r.append(image)
        image = sprite_sheet.get_image(135,356,39,47)
        self.falling_frames_r.append(image)
        image = sprite_sheet.get_image(178,356,39,47)
        self.falling_frames_r.append(image)
        
        image = sprite_sheet.get_image(3,355,39,40)
        image = pygame.transform.flip(image, True, False)
        self.falling_frames_l.append(image)
        image = sprite_sheet.get_image(49,355,40,44)
        image = pygame.transform.flip(image, True, False)
        self.falling_frames_l.append(image)
        image = sprite_sheet.get_image(92,357,40,43)
        image = pygame.transform.flip(image, True, False)
        self.falling_frames_l.append(image)
        image = sprite_sheet.get_image(135,356,39,47)
        image = pygame.transform.flip(image, True, False)
        self.falling_frames_l.append(image)
        image = sprite_sheet.get_image(178,356,39,47)
        image = pygame.transform.flip(image, True, False)
        self.falling_frames_l.append(image)        
        
        # Cargar ambas caras de FALL
        image = sprite_sheet.get_image(248,353,35,61)
        self.fall_frames_r.append(image)
        image = sprite_sheet.get_image(288,363,37,51)
        self.fall_frames_r.append(image)
        image = sprite_sheet.get_image(328,380,32,33)
        self.fall_frames_r.append(image)        
        image = sprite_sheet.get_image(367,376,35,37)
        self.fall_frames_r.append(image)
        
        image = sprite_sheet.get_image(248,353,35,61)
        image = pygame.transform.flip(image, True, False)
        self.fall_frames_l.append(image)
        image = sprite_sheet.get_image(288,363,37,51)
        image = pygame.transform.flip(image, True, False)
        self.fall_frames_l.append(image)
        image = sprite_sheet.get_image(328,380,32,33)
        image = pygame.transform.flip(image, True, False)
        self.fall_frames_l.append(image)        
        image = sprite_sheet.get_image(367,376,35,37)
        image = pygame.transform.flip(image, True, False)
        self.fall_frames_l.append(image)
        
        # Cargar ambas caras de RUNNING
        image = sprite_sheet.get_image(3,225,60,44)
        self.running_frames_r.append(image)
        image = sprite_sheet.get_image(69,226,57,45)
        self.running_frames_r.append(image)
        image = sprite_sheet.get_image(130,226,49,45)
        self.running_frames_r.append(image)        
        image = sprite_sheet.get_image(182,226,61,42)
        self.running_frames_r.append(image)
        image = sprite_sheet.get_image(247,225,53,45)
        self.running_frames_r.append(image)
        image = sprite_sheet.get_image(304,226,51,45)
        self.running_frames_r.append(image)
        
        image = sprite_sheet.get_image(3,225,60,44)
        image = pygame.transform.flip(image, True, False)
        self.running_frames_l.append(image)
        image = sprite_sheet.get_image(69,226,57,45)
        image = pygame.transform.flip(image, True, False)
        self.running_frames_l.append(image)
        image = sprite_sheet.get_image(130,226,49,45)
        image = pygame.transform.flip(image, True, False)
        self.running_frames_l.append(image)        
        image = sprite_sheet.get_image(182,226,61,42)
        image = pygame.transform.flip(image, True, False)
        self.running_frames_l.append(image)
        image = sprite_sheet.get_image(247,225,53,45)
        image = pygame.transform.flip(image, True, False)
        self.running_frames_l.append(image)
        image = sprite_sheet.get_image(304,226,51,45)
        image = pygame.transform.flip(image, True, False)
        self.running_frames_l.append(image)        
        
        # Cargar ambas caras de CROUCHED
        image = sprite_sheet.get_image(4,146,26,55)
        self.crouched_frames_r.append(image)
        image = sprite_sheet.get_image(79,163,34,39)
        self.crouched_frames_r.append(image)        
        image = sprite_sheet.get_image(173,165,29,36)
        self.crouched_frames_r.append(image)       
        
        image = sprite_sheet.get_image(4,146,26,55)
        image = pygame.transform.flip(image, True, False)
        self.crouched_frames_l.append(image)
        image = sprite_sheet.get_image(79,163,34,39)
        image = pygame.transform.flip(image, True, False)
        self.crouched_frames_l.append(image)        
        image = sprite_sheet.get_image(173,165,29,36)
        image = pygame.transform.flip(image, True, False)
        self.crouched_frames_l.append(image)         
        
        # Cargar ambas caras de CROUCHED WALKING
        image = sprite_sheet.get_image(269,165,39,37)
        self.crouchedwalking_frames_r.append(image)
        image = sprite_sheet.get_image(315,166,39,35)
        self.crouchedwalking_frames_r.append(image)        
        image = sprite_sheet.get_image(355,167,35,34)
        self.crouchedwalking_frames_r.append(image)
        image = sprite_sheet.get_image(392,167,34,34)
        self.crouchedwalking_frames_r.append(image)
        image = sprite_sheet.get_image(427,168,35,33)
        self.crouchedwalking_frames_r.append(image)
        image = sprite_sheet.get_image(355,167,35,34)
        self.crouchedwalking_frames_r.append(image) 
        image = sprite_sheet.get_image(315,166,39,35)
        self.crouchedwalking_frames_r.append(image) 
        
        image = sprite_sheet.get_image(269,165,39,37)
        image = pygame.transform.flip(image, True, False)
        self.crouchedwalking_frames_l.append(image)
        image = sprite_sheet.get_image(315,166,39,35)
        image = pygame.transform.flip(image, True, False)
        self.crouchedwalking_frames_l.append(image)        
        image = sprite_sheet.get_image(355,167,35,34)
        image = pygame.transform.flip(image, True, False)
        self.crouchedwalking_frames_l.append(image)
        image = sprite_sheet.get_image(392,167,34,34)
        image = pygame.transform.flip(image, True, False)
        self.crouchedwalking_frames_l.append(image)
        image = sprite_sheet.get_image(427,168,35,33)
        image = pygame.transform.flip(image, True, False)
        self.crouchedwalking_frames_l.append(image)
        image = sprite_sheet.get_image(355,167,35,34)
        image = pygame.transform.flip(image, True, False)
        self.crouchedwalking_frames_l.append(image) 
        image = sprite_sheet.get_image(315,166,39,35)
        image = pygame.transform.flip(image, True, False)
        self.crouchedwalking_frames_l.append(image)
        
        # Cargar ambas caras de ATTACK
        image = sprite_sheet.get_image(5,425,58,67)
        self.attack_frames_r.append(image)
        image = sprite_sheet.get_image(66,426,48,66)
        self.attack_frames_r.append(image)
        image = sprite_sheet.get_image(114,427,71,65)
        self.attack_frames_r.append(image)
        image = sprite_sheet.get_image(191,427,68,67)
        self.attack_frames_r.append(image)
        image = sprite_sheet.get_image(265,451,44,41)
        self.attack_frames_r.append(image)        
        
        image = sprite_sheet.get_image(5,425,58,67)
        image = pygame.transform.flip(image, True, False)
        self.attack_frames_l.append(image)
        image = sprite_sheet.get_image(66,426,48,66)
        image = pygame.transform.flip(image, True, False)
        self.attack_frames_l.append(image)
        image = sprite_sheet.get_image(114,427,71,65)
        image = pygame.transform.flip(image, True, False)
        self.attack_frames_l.append(image)
        image = sprite_sheet.get_image(191,427,68,67)
        image = pygame.transform.flip(image, True, False)
        self.attack_frames_l.append(image)
        image = sprite_sheet.get_image(265,451,44,41)
        image = pygame.transform.flip(image, True, False)
        self.attack_frames_l.append(image)
        
        # Cargar ambas caras de ATTACKSHURIKEN
        image = sprite_sheet.get_image(8,2437,41,46)
        self.attackshuriken_frames_r.append(image)
        image = sprite_sheet.get_image(57,2443,61,40)
        self.attackshuriken_frames_r.append(image)
        image = sprite_sheet.get_image(124,2443,66,40)
        self.attackshuriken_frames_r.append(image)
        image = sprite_sheet.get_image(214,2443,65,40)
        self.attackshuriken_frames_r.append(image)
        
        image = sprite_sheet.get_image(8,2437,41,46)
        image = pygame.transform.flip(image, True, False)
        self.attackshuriken_frames_l.append(image)
        image = sprite_sheet.get_image(57,2443,61,40)
        image = pygame.transform.flip(image, True, False)
        self.attackshuriken_frames_l.append(image)
        image = sprite_sheet.get_image(124,2443,66,40)
        image = pygame.transform.flip(image, True, False)
        self.attackshuriken_frames_l.append(image)
        image = sprite_sheet.get_image(214,2443,65,40)
        image = pygame.transform.flip(image, True, False)
        self.attackshuriken_frames_l.append(image)         
        
        
        # Cargar ambas caras de HURT
        
        image = sprite_sheet.get_image(134,1062,53,53)
        self.hurt_frames_r.append(image)
        image = sprite_sheet.get_image(193,1061,43,54)
        self.hurt_frames_r.append(image)           
        image = sprite_sheet.get_image(247,1065,41,50)
        self.hurt_frames_r.append(image)           

        image = sprite_sheet.get_image(134,1062,53,53)
        image = pygame.transform.flip(image, True, False)
        self.hurt_frames_l.append(image)
        image = sprite_sheet.get_image(193,1061,43,54)
        image = pygame.transform.flip(image, True, False)
        self.hurt_frames_l.append(image)           
        image = sprite_sheet.get_image(247,1065,41,50)
        image = pygame.transform.flip(image, True, False)
        self.hurt_frames_l.append(image)          
        
        # Cargar ambas caras de DIE
        image = sprite_sheet.get_image(266,221,32,55)
        self.die_frames_r.append(image)     
        image = sprite_sheet.get_image(306,1220,30,56)
        self.die_frames_r.append(image)
        image = sprite_sheet.get_image(344,1233,33,43)
        self.die_frames_r.append(image)
        image = sprite_sheet.get_image(382,1234,33,42)
        self.die_frames_r.append(image)
        image = sprite_sheet.get_image(419,1236,27,40)
        self.die_frames_r.append(image)
        image = sprite_sheet.get_image(493,1238,27,38)
        self.die_frames_r.append(image)
        image = sprite_sheet.get_image(530,1243,30,33)
        self.die_frames_r.append(image)   
        image = sprite_sheet.get_image(567,1250,38,27)
        self.die_frames_r.append(image)  
        image = sprite_sheet.get_image(609,1260,49,18)
        self.die_frames_r.append(image)  
        image = sprite_sheet.get_image(660,1258,51,20)
        self.die_frames_r.append(image)  
        image = sprite_sheet.get_image(716,1258,50,20)
        self.die_frames_r.append(image)  
        image = sprite_sheet.get_image(771,1261,48,19)
        self.die_frames_r.append(image)  
        
        image = sprite_sheet.get_image(266,221,32,55)
        image = pygame.transform.flip(image, True, False)
        self.die_frames_l.append(image)     
        image = sprite_sheet.get_image(306,1220,30,56)
        image = pygame.transform.flip(image, True, False)
        self.die_frames_l.append(image)
        image = sprite_sheet.get_image(344,1233,33,43)
        image = pygame.transform.flip(image, True, False)
        self.die_frames_l.append(image)
        image = sprite_sheet.get_image(382,1234,33,42)
        image = pygame.transform.flip(image, True, False)
        self.die_frames_l.append(image)
        image = sprite_sheet.get_image(419,1236,27,40)
        image = pygame.transform.flip(image, True, False)
        self.die_frames_l.append(image)
        image = sprite_sheet.get_image(493,1238,27,38)
        image = pygame.transform.flip(image, True, False)
        self.die_frames_l.append(image)
        image = sprite_sheet.get_image(530,1243,30,33)
        image = pygame.transform.flip(image, True, False)
        self.die_frames_l.append(image)   
        image = sprite_sheet.get_image(567,1250,38,27)
        image = pygame.transform.flip(image, True, False)
        self.die_frames_l.append(image)  
        image = sprite_sheet.get_image(609,1260,49,18)
        image = pygame.transform.flip(image, True, False)
        self.die_frames_l.append(image)  
        image = sprite_sheet.get_image(660,1258,51,20)
        image = pygame.transform.flip(image, True, False)
        self.die_frames_l.append(image)  
        image = sprite_sheet.get_image(716,1258,50,20)
        image = pygame.transform.flip(image, True, False)
        self.die_frames_l.append(image)  
        image = sprite_sheet.get_image(771,1261,48,19)
        image = pygame.transform.flip(image, True, False)
        self.die_frames_l.append(image)        
        
        # Rectangulo del sprite
        self.image = pygame.Surface([25,58])
             
        self.rect = self.image.get_rect()
        self.image.fill(constants.BLUE)
        
        # Sprite usado para activar a los enemigos
        self.enemy_activator = pygame.sprite.Group()
        self.enemy_activator.add(Enemy_Activator())
        
        # Seleccionar con que imagen va a comenzar
        self.draw_image = self.walking_frames_r[0]
        self.draw_rect = self.rect.copy()
        
        # Reloj para la hoja de sprites
        self.reloj = 0
Exemple #41
0
    def __init__(self, position, player):
        """
        :param player:  The player object
        :param position:  The x-position of the player

        This initializes the rocket


        Variables:

            self.player: The player object
            self.spawnTime: The amout of time the punch will stay on screen
            whichPice: Randomly chooses a number to choose which sprite to use
            pieceOne: The first sprite
            pieceTwo: the second sprite
            pieceThree: The third sprite
            usePice: The chosen sprite to be used
            sprite_sheet: The spritesheet to where the custom spries came from
            image: Holds the custom
            self.image: The sprite used to represent
            self.rect: This creates the shape of the sprite
            self.rect.x: The x-position of the sprite
            self.rect.y: The y-position of the sprite
            self.direction: The direction of the sprite
            self.TDdirection: The direction of the sprite


        """

        super().__init__()

        self.spawnTime = 0

        self.player = player

        #Lists out rock sprites, chooses which sprite to use when initialized
        whichPice = randint(1,3)

        pieceOne = [154, 251, 34, 34]
        pieceTwo = [199, 254, 39, 33]
        pieceThree = [259, 254, 39, 34]

        if whichPice == 1:
            usePice = pieceOne
        elif whichPice == 2:
            usePice = pieceTwo
        else:
            usePice = pieceThree


        pygame.sprite.Sprite.__init__(self)

        #Load sheet
        sprite_sheet = SpriteSheet("Golem.png")

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

        self.rect = self.image.get_rect()

        #Sets rock position
        self.rect.x = position
        self.rect.y = -10

        #Sets rock direction as it flies
        self.direction = 'r'
        self.TDdirection = 'b'
Exemple #42
0
    def __init__(self):
        """Constructor Function"""

        # Call the parent's constructor
        super(Player, self).__init__()
        # -- Attributes
        # Set speed vector of player
        self.change_x = 0
        self.change_y = 0

        #This holds out all the images for the animated walk left /right of player
        self.walking_frames_l = []
        self.walking_frames_r = []

        #What direction is the player facing?
        self.direction = "R"

        #List of sprites we can bump against:
        self.level = None

        sprite_sheet = SpriteSheet("resources\graphics\mariosheet.png")

        # Load all the right facing images into a list
        image = sprite_sheet.get_image(80, 49, 16, 16)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(97, 49, 16, 16)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(114, 49, 16, 16)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(131, 49, 16, 16)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(148, 49, 16, 16)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(165, 49, 16, 16)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(182, 49, 16, 16)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(199, 49, 16, 16)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(216, 49, 16, 16)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(233, 49, 16, 16)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(250, 49, 16, 16)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(267, 49, 16, 16)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(284, 49, 16, 16)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(301, 49, 16, 16)

        # Load all right facing images, then flip them to face left

        image = sprite_sheet.get_image(80, 49, 16, 16)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(97, 49, 16, 16)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(114, 49, 16, 16)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(131, 49, 16, 16)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(148, 49, 16, 16)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(165, 49, 16, 16)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(182, 49, 16, 16)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(199, 49, 16, 16)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(216, 49, 16, 16)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(233, 49, 16, 16)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(250, 49, 16, 16)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(267, 49, 16, 16)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(284, 49, 16, 16)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(301, 49, 16, 16)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)

        # Set the image the player starts with
        self.image = self.walking_frames_r[0]

        # Set a reference to the image rect.
        self.rect = self.image.get_rect()
Exemple #43
0
    def __init__(self):
        """ Constructor function """

        # Call the parent's constructor
        pygame.sprite.Sprite.__init__(self)

        sprite_sheet = SpriteSheet("./resources/p1_walk.png")
        # Load all the right facing images into a list
        image = sprite_sheet.get_image(0, 0, 66, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(66, 0, 66, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(132, 0, 67, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(0, 93, 66, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(66, 93, 66, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(132, 93, 72, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(0, 186, 70, 90)
        self.walking_frames_r.append(image)

        # Load all the right facing images, then flip them
        # to face left.
        image = sprite_sheet.get_image(0, 0, 66, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(66, 0, 66, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(132, 0, 67, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(0, 93, 66, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(66, 93, 66, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(132, 93, 72, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(0, 186, 70, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)

        # Set the image the player starts with
        self.image = self.walking_frames_r[0]

        # Set a referance to the image rect.
        self.rect = self.image.get_rect()
Exemple #44
0
class Player(pygame.sprite.Sprite):
    """ This class represents the bar at the bottom that the player
    controls. """
    # List of sprites we can bump against
    level = None

    # -- Methods
    def __init__(self, player):
        """ 
        walk_images is a list of sprite locations found in constants
        and sprite_sheet is the walking PNG file
        """

        # Call the parent's constructor
        pygame.sprite.Sprite.__init__(self)

        self.pname = player['name']

        # Set speed vector of player
        self.change_x = 0
        self.change_y = 0

        self.sprite_sheet = SpriteSheet(player['spritesheet'])
        self.frozen_sprite_sheet = SpriteSheet(player['frozen_spritesheet'])

        # This holds all the images for the animated walk left/right
        # of our player
        self.walking_frames_l = []
        self.walking_frames_r = []
        self.frozen_frames_l = []
        self.frozen_frames_r = []

        self.direction = player['direction']

        self.stunned = False
        self.stunned_direction = None
        self.stun_start = time.time()

        self.lives = 3

        # Load all the right facing images into a list
        for frame in player['walk_images']:

            image = self.sprite_sheet.get_image(frame[0], frame[1], frame[2],
                                                frame[3]).convert()
            self.walking_frames_r.append(image)

            # Flip them and load into left facing list
            image = pygame.transform.flip(image, True, False)
            self.walking_frames_l.append(image)

            # Creates the frozen sprites
            image = self.frozen_sprite_sheet.get_image(frame[0], frame[1],
                                                       frame[2],
                                                       frame[3]).convert()
            self.frozen_frames_r.append(image)

            # Flip them and load into left facing list
            image = pygame.transform.flip(image, True, False)
            self.frozen_frames_l.append(image)

        # Set the image the player starts with
        self.image = self.walking_frames_r[0]

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

    def update(self):
        """ Move the player. """
        # Gravity
        self.calc_grav()

        # Check to see if player has been stunned
        if self.stunned == True:

            self.stun_check = time.time()

            # How long the player has been stunned for
            if self.stun_check - self.stun_start < 2:

                # Stop horizontal movement
                self.change_x = 0

                # Keep player facing same direction
                self.direction = self.stunned_direction

                # If player is jumping stop vertical movement
                if self.change_y < 0:
                    self.change_y = 0
            else:
                self.stunned = False

        # Move left/right
        self.rect.x += self.change_x
        pos = self.rect.x

        # Pick a frame (switch to frozen if needed)
        if self.stunned == True:
            if self.direction == "R":
                frame = (pos // 30) % len(self.frozen_frames_r)
                self.image = self.frozen_frames_r[frame]
            else:
                frame = (pos // 30) % len(self.frozen_frames_l)
                self.image = self.frozen_frames_l[frame]
        else:
            if self.direction == "R":
                frame = (pos // 30) % len(self.walking_frames_r)
                self.image = self.walking_frames_r[frame]
            else:
                frame = (pos // 30) % len(self.walking_frames_l)
                self.image = self.walking_frames_l[frame]

        # See if we hit anything
        block_hit_list = pygame.sprite.spritecollide(self,
                                                     self.level.platform_list,
                                                     False)
        for block in block_hit_list:
            # If we are moving right,
            # set our right side to the left side of the item we hit
            if self.change_x > 0:
                self.rect.right = block.rect.left
            elif self.change_x < 0:
                # Otherwise if we are moving left, do the opposite.
                self.rect.left = block.rect.right

        # Move up/down
        self.rect.y += self.change_y

        # Check and see if we hit anything
        block_hit_list = pygame.sprite.spritecollide(self,
                                                     self.level.platform_list,
                                                     False)
        for block in block_hit_list:

            # Reset our position based on the top/bottom of the object.
            if self.change_y > 0:
                self.rect.bottom = block.rect.top
            elif self.change_y < 0:
                self.rect.top = block.rect.bottom

            # Stop our vertical movement
            self.change_y = 0

#For moving player if hit by moving platform
#            if isinstance(block, MovingPlatform):
#                self.rect.x += block.change_x

    def calc_grav(self):
        """ Calculate effect of gravity. """
        if self.change_y == 0:
            self.change_y = 1
        else:
            self.change_y += .45

        if self.rect.y > constants.SCREEN_HEIGHT:

            # Move to the top middle platform
            self.rect.x = 585
            self.rect.y = 100

            # Minus a life
            self.lives -= 1

    def jump(self):
        """ Called when user hits 'jump' button. """

        # move down a bit and see if there is a platform below us.
        # Move down 2 pixels because it doesn't work well if we only move down 1
        # when working with a platform moving down.
        self.rect.y += 2
        platform_hit_list = pygame.sprite.spritecollide(
            self, self.level.platform_list, False)
        self.rect.y -= 2

        # If it is ok to jump, set our speed upwards
        if len(platform_hit_list
               ) > 0 or self.rect.bottom >= constants.SCREEN_HEIGHT:
            self.change_y = -15

    # Player-controlled movement:
    def go_left(self):
        """ Called when the user hits the left arrow. """
        self.change_x = -6
        self.direction = "L"

    def go_right(self):
        """ Called when the user hits the right arrow. """
        self.change_x = 6
        self.direction = "R"

    def stop(self):
        """ Called when the user lets off the keyboard. """
        self.change_x = 0
Exemple #45
0
    def __init__(self):
        """ Constructor function """

        # Call the parent's constructor
        super().__init__()

        # -- Attributes
        # Set speed vector of player
        self.change_x = 0
        self.change_y = 0

        # This holds all the images for the animated walk left/right
        # of our player
        self.walking_frames_l = []
        self.walking_frames_r = []

        # What direction is the player facing?
        self.direction = "R"

        # List of sprites we can bump against
        self.level = None

        sprite_sheet = SpriteSheet("p1_walk.png")
        # Load all the right facing images into a list
        image = sprite_sheet.get_image(0, 0, 66, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(66, 0, 66, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(132, 0, 67, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(0, 93, 66, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(66, 93, 66, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(132, 93, 72, 90)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(0, 186, 70, 90)
        self.walking_frames_r.append(image)

        # Load all the right facing images, then flip them
        # to face left.
        image = sprite_sheet.get_image(0, 0, 66, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(66, 0, 66, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(132, 0, 67, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(0, 93, 66, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(66, 93, 66, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(132, 93, 72, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(0, 186, 70, 90)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)

        # Set the image the player starts with
        self.image = self.walking_frames_r[0]

        # Set a reference to the image rect.
        self.rect = self.image.get_rect()
Exemple #46
0
    def __init__(self, player, golem):
        """
        :param player:  The player object
        :param golem:  The golem object

        This initializes the laser


        Variables:

            self.player: The player object
            self.golem: The golem object
            self.lazeroz: Holds the custom sprites
            self.spawnTime: The amout of time the punch will stay on screen
            sprite_sheet: The spritesheet to where the custom spries came from
            image: Holds the custom
            self.image: The sprite used to represent
            self.rect: This creates the shape of the sprite
            self.rect.x: The x-position of the sprite
            self.rect.y: The y-position of the sprite
            self.oriX: The original x-position of the laser once it changes form


        """

        super().__init__()

        self.lazeroz = []

        self.player = player
        self.golem = golem

        self.spawnTime = 0

        pygame.sprite.Sprite.__init__(self)

        sprite_sheet = SpriteSheet("Golem.png")

        image = sprite_sheet.get_image(BIG_CIRC[0], BIG_CIRC[1], BIG_CIRC[2],
                                       BIG_CIRC[3])
        self.image = image
        self.rect = self.image.get_rect()
        self.lazeroz.append(image)

        image = sprite_sheet.get_image(MED_CIRC[0], MED_CIRC[1], MED_CIRC[2],
                                       MED_CIRC[3])
        self.lazeroz.append(image)

        image = sprite_sheet.get_image(SMA_CIRC[0], SMA_CIRC[1], SMA_CIRC[2],
                                       SMA_CIRC[3])
        self.lazeroz.append(image)

        image = sprite_sheet.get_image(SMA_BEAM[0], SMA_BEAM[1], SMA_BEAM[2],
                                       SMA_BEAM[3])
        self.lazeroz.append(image)

        image = sprite_sheet.get_image(MED_BEAM[0], MED_BEAM[1], MED_BEAM[2],
                                       MED_BEAM[3])
        self.lazeroz.append(image)

        image = sprite_sheet.get_image(BIG_BEAM[0], BIG_BEAM[1], BIG_BEAM[2],
                                       BIG_BEAM[3])
        self.lazeroz.append(image)

        self.rect.x = golem.rect.x
        self.oriX = golem.rect.x

        self.rect.y = golem.rect.y + 131
Exemple #47
0
    def __init__(self, player):
        """
        :param player:  The player object

        This initializes the scarab


        Variables:
            self.LRframes: A list to hold the custom sprites for animation when going right or left
            self.LRframes: A list to hold the custom sprites for animation when going top or bottom
            self.player: The player object
            sprite_sheet: The spritesheet to where the custom spries came from
            image: Holds the custom
            self.image: The sprite used to represent the flyer
            self.rect: This creates the shape of the sprite
            self.rect.x: The x-position of the sprite
            self.rect.y: The y-position of the sprite
            selection: A random int to select the direction the scarab faces
            selectSpot: Selects where to place the scarab based on its direction
            self.distance: How far the scarab will go before turning around
            self.oriDistance: To set the distance when scarab reaches the end of its patrol
            self.direction: The facing direction of the scarab

        """

        super().__init__()

        #Frames
        self.LRframes = []
        self.TBframes = []

        #Selects what spot the scarab will be placed in
        selection = randint(0, 3)
        selectSpot = randint(0, 2)

        #Sets how far the scarab will crawl
        self.distance = 0
        self.oriDistance = 0
        self.direction = ''

        pygame.sprite.Sprite.__init__(self)

        #Load sheet
        sprite_sheet = SpriteSheet("Skeleton.png")

        #Right
        image = sprite_sheet.get_image(46, 11, 78, 61)
        self.LRframes.append(image)

        #Left
        image = sprite_sheet.get_image(351, 10, 78, 61)
        self.LRframes.append(image)

        #Top
        image = sprite_sheet.get_image(160, 5, 61, 78)
        self.TBframes.append(image)

        #Bottom
        image = sprite_sheet.get_image(252, 6, 61, 78)
        self.TBframes.append(image)

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

        #Sets the scarab based on previous int variables
        if selection == 0:

            image = self.LRframes[0]
            self.image = image
            self.rect = self.image.get_rect()
            self.rect.x = 30
            self.direction = 'r'

            if selectSpot == 0:
                self.rect.y = 35
            elif selectSpot == 1:
                self.rect.y = 315
            elif selectSpot == 2:
                self.rect.y = 600

            self.distance = 900
            self.oriDistance = 900

        elif selection == 1:

            image = self.LRframes[1]
            self.image = image
            self.rect = self.image.get_rect()
            self.rect.x = constants.SCREEN_WIDTH - 108
            self.direction = 'l'

            if selectSpot == 0:
                self.rect.y = 35
            elif selectSpot == 1:
                self.rect.y = 315
            elif selectSpot == 2:
                self.rect.y = 600

            self.distance = 900
            self.oriDistance = 900

        elif selection == 2:
            image = self.TBframes[0]
            self.image = image
            self.rect = self.image.get_rect()
            self.rect.y = constants.SCREEN_HEIGHT - 108
            self.direction = 't'

            if selectSpot == 0:
                self.rect.x = 40
            elif selectSpot == 1:
                self.rect.x = 470
            elif selectSpot == 2:
                self.rect.x = 895

            self.distance = 620
            self.oriDistance = 620

        elif selection == 3:
            image = self.TBframes[1]
            self.image = image
            self.rect = self.image.get_rect()
            self.rect.y = 35
            self.direction = 'b'

            if selectSpot == 0:
                self.rect.x = 40
            elif selectSpot == 1:
                self.rect.x = 470
            elif selectSpot == 2:
                self.rect.x = 895

            self.distance = 620
            self.oriDistance = 620

        self.player = player
Exemple #48
0
    def __init__(self):
 
        super().__init__()
 
        # Define o vetor velocidade do player
        self.change_x = 0
        self.change_y = 0
        
        # Armazena todas as imagens da animação de descanço esquerda/direita do player
        self.waiting_frames_l = []
        self.waiting_frames_r = []
        
        # Armazena todas as imagens da animação de andar para esquerda/direita do player
        self.walking_frames_l = []
        self.walking_frames_r = []
        
        # Armazena todas as imagens da animação de pular para a esquerda/direita do player
        self.jumping_frames_l = []
        self.jumping_frames_r = []
        
        # Armazena todas as imagens da animação de ataque leve para a esquerda/direita
        self.lightatk_frames_l = []
        self.lightatk_frames_r = []
 
        # Direção que o player está virado
        self.direction = "R"
 
        # Lista de sprites que o player pode esbarrar
        self.level = None
 
        sprite_sheet = SpriteSheet("images/link.png")
        
        # Carrega todas as sprites paradas viradas para a direita
        image_wait = sprite_sheet.get_image(4, 61, 42, 42, constants.BLACK) #4,61,42,42#214,662,35,41
        image_wait = pygame.transform.scale2x(image_wait)
        self.waiting_frames_r.append(image_wait)
        image_wait = sprite_sheet.get_image(54, 61, 42, 42, constants.BLACK) #54,61#253,662
        image_wait = pygame.transform.scale2x(image_wait)
        self.waiting_frames_r.append(image_wait)
        image_wait = sprite_sheet.get_image(104, 61, 42, 42, constants.BLACK) #104,61#293,662
        image_wait = pygame.transform.scale2x(image_wait)
        self.waiting_frames_r.append(image_wait)
        image_wait = sprite_sheet.get_image(154, 61, 42, 42, constants.BLACK) #154,61#333,662
        image_wait = pygame.transform.scale2x(image_wait)
        self.waiting_frames_r.append(image_wait)
        
        # Carrega todas as sprites paradas viradas para a direita e as vira para a esquerda
        image_wait = sprite_sheet.get_image(4, 61, 42, 42, constants.BLACK) #4,61,42,42#214,662,35,42
        image_wait = pygame.transform.flip(image_wait, True, False)
        image_wait = pygame.transform.scale2x(image_wait)
        self.waiting_frames_l.append(image_wait)
        image_wait = sprite_sheet.get_image(54, 61, 42, 42, constants.BLACK) #54,61#253,662
        image_wait = pygame.transform.flip(image_wait, True, False)
        image_wait = pygame.transform.scale2x(image_wait)
        self.waiting_frames_l.append(image_wait)
        image_wait = sprite_sheet.get_image(104, 61, 42, 42, constants.BLACK) #104,61#293,662
        image_wait = pygame.transform.flip(image_wait, True, False)
        image_wait = pygame.transform.scale2x(image_wait)
        self.waiting_frames_l.append(image_wait)
        image_wait = sprite_sheet.get_image(154, 61, 42, 42, constants.BLACK) #154,61#333,662
        image_wait = pygame.transform.flip(image_wait, True, False)
        image_wait = pygame.transform.scale2x(image_wait)
        self.waiting_frames_l.append(image_wait)
        
        # Carrega todas as sprites correndo viradas para a direita numa lista
        image = sprite_sheet.get_image(204, 408, 42, 42, constants.BLACK)
        image = pygame.transform.scale2x(image)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(154, 408, 42, 42, constants.BLACK)
        image = pygame.transform.scale2x(image)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(104, 408, 42, 42, constants.BLACK)
        image = pygame.transform.scale2x(image)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(54, 408, 42, 42, constants.BLACK)
        image = pygame.transform.scale2x(image)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(4, 408, 42, 42, constants.BLACK)
        image = pygame.transform.scale2x(image)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(204, 460, 42, 42, constants.BLACK)
        image = pygame.transform.scale2x(image)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(154, 460, 42, 42, constants.BLACK)
        image = pygame.transform.scale2x(image)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(104, 460, 42, 42, constants.BLACK)
        image = pygame.transform.scale2x(image)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(54, 460, 42, 42, constants.BLACK)
        image = pygame.transform.scale2x(image)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(4, 460, 42, 42, constants.BLACK)
        image = pygame.transform.scale2x(image)
        self.walking_frames_r.append(image)
 
        # Carrega todas as imagens correndo viradas para a direita e as vira para a esquerda
        image = sprite_sheet.get_image(4, 408, 42, 42, constants.BLACK)
        image = pygame.transform.flip(image, True, False)
        image = pygame.transform.scale2x(image)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(54, 408, 42, 42, constants.BLACK)
        image = pygame.transform.flip(image, True, False)
        image = pygame.transform.scale2x(image)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(104, 408, 42, 42, constants.BLACK)
        image = pygame.transform.flip(image, True, False)
        image = pygame.transform.scale2x(image)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(154, 408, 42, 42, constants.BLACK)
        image = pygame.transform.flip(image, True, False)
        image = pygame.transform.scale2x(image)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(204, 408, 42, 42, constants.BLACK)
        image = pygame.transform.flip(image, True, False)
        image = pygame.transform.scale2x(image)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(4, 460, 42, 42, constants.BLACK)
        image = pygame.transform.flip(image, True, False)
        image = pygame.transform.scale2x(image)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(54, 460, 42, 42, constants.BLACK)
        image = pygame.transform.flip(image, True, False)
        image = pygame.transform.scale2x(image)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(104, 460, 42, 42, constants.BLACK)
        image = pygame.transform.flip(image, True, False)
        image = pygame.transform.scale2x(image)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(154, 460, 42, 42, constants.BLACK)
        image = pygame.transform.flip(image, True, False)
        image = pygame.transform.scale2x(image)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(204, 460, 42, 42, constants.BLACK)
        image = pygame.transform.flip(image, True, False)
        image = pygame.transform.scale2x(image)
        self.walking_frames_l.append(image)
        
        # Carrega todas as imagens pulando viradas para a direita numa lista
        image_jump = sprite_sheet.get_image(304, 0, 42, 54, constants.BLACK)
        image_jump = pygame.transform.scale2x(image_jump)
        self.jumping_frames_r.append(image_jump)
        image_jump = sprite_sheet.get_image(354, 0, 42, 54, constants.BLACK)
        image_jump = pygame.transform.scale2x(image_jump)
        self.jumping_frames_r.append(image_jump)
        image_jump = sprite_sheet.get_image(404, 0, 42, 54, constants.BLACK)
        image_jump = pygame.transform.scale2x(image_jump)
        self.jumping_frames_r.append(image_jump)
        
        # Carrega todas as imagens pulando viradas para a direita e as vira para a esquerda
        image_jump = sprite_sheet.get_image(304, 0, 42, 54, constants.BLACK)
        image_jump = pygame.transform.flip(image_jump, True, False)
        image_jump = pygame.transform.scale2x(image_jump)
        self.jumping_frames_l.append(image_jump)
        image_jump = sprite_sheet.get_image(354, 0, 42, 54, constants.BLACK)
        image_jump = pygame.transform.flip(image_jump, True, False)
        image_jump = pygame.transform.scale2x(image_jump)
        self.jumping_frames_l.append(image_jump)
        image_jump = sprite_sheet.get_image(404, 0, 42, 54, constants.BLACK)
        image_jump = pygame.transform.flip(image_jump, True, False)
        image_jump = pygame.transform.scale2x(image_jump)
        self.jumping_frames_l.append(image_jump)
        
        # Carrega todas as imagens de ataque leve viradas para a direita
        image_lightatk = sprite_sheet.get_image(204, 59, 41, 45, constants.BLACK)
        image_lightatk = pygame.transform.scale2x(image_lightatk)
        self.lightatk_frames_r.append(image_lightatk)
        image_lightatk = sprite_sheet.get_image(328, 313, 63, 38, constants.BLACK)
        image_lightatk = pygame.transform.scale2x(image_lightatk)
        self.lightatk_frames_r.append(image_lightatk)
        
        # Carrega todas as imagens de ataque leve viradas para a direita e as vira para a esquerda
        image_lightatk = sprite_sheet.get_image(204, 59, 41, 45, constants.BLACK)
        image_lightatk = pygame.transform.flip(image_lightatk, True, False)
        image_lightatk = pygame.transform.scale2x(image_lightatk)
        self.lightatk_frames_l.append(image_lightatk)
        image_lightatk = sprite_sheet.get_image(328, 313, 63, 38, constants.BLACK)
        image_lightatk = pygame.transform.flip(image_lightatk, True, False)
        image_lightatk = pygame.transform.scale2x(image_lightatk)
        self.lightatk_frames_l.append(image_lightatk)

        # Define a sprite que o player começa
        self.image_wait = self.waiting_frames_r[0]
        self.image = self.walking_frames_r[0]
        self.image_jump = self.jumping_frames_r[0]
 
        # Define uma referência para o retângulo da sprite
        self.rect = self.image.get_rect()
        self.rect_jump = self.image_jump.get_rect()
    def __init__(self):
        """ Constructor function """

        # Call the parent's constructor
        super().__init__()

        # -- Attributes
        # Set speed
        self.change_x = 0
        self.change_y = 0
        self.play_sound = False
        # This holds all the images for the animated walk left/right
        # of our player
        self.walking_frames_l = []
        self.walking_frames_r = []
        self.walking_frames_u = []
        self.walking_frames_d = []

        # What direction is the player facing?
        self.direction = "D"

        sprite_sheet = SpriteSheet("assets\Char2.png")
        # Load all the right facing images into a list
        image = sprite_sheet.get_image(0, 158, 33, 42)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(34, 155, 33, 42)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(67, 157, 31, 43)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(100, 158, 33, 42)
        self.walking_frames_r.append(image)

        # Load all the right facing images, then flip them
        # to face left.
        image = sprite_sheet.get_image(0, 158, 33, 42)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(34, 155, 33, 42)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(67, 157, 31, 43)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(100, 158, 33, 42)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(0, 158, 33, 42)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(34, 155, 33, 42)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(67, 157, 31, 43)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(100, 158, 33, 42)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)

        # Load all the upward facing images into a list
        image = sprite_sheet.get_image(0, 53, 34, 50)
        self.walking_frames_u.append(image)
        image = sprite_sheet.get_image(34, 53, 34, 42)
        self.walking_frames_u.append(image)
        image = sprite_sheet.get_image(68, 53, 32, 42)
        self.walking_frames_u.append(image)
        image = sprite_sheet.get_image(100, 53, 34, 42)
        self.walking_frames_u.append(image)

        # Load all the downward facing images into a list
        image = sprite_sheet.get_image(0, 0, 34, 51)
        self.walking_frames_d.append(image)
        image = sprite_sheet.get_image(34, 0, 34, 50)
        self.walking_frames_d.append(image)
        image = sprite_sheet.get_image(68, 0, 34, 50)
        self.walking_frames_d.append(image)
        image = sprite_sheet.get_image(102, 0, 30, 50)
        self.walking_frames_d.append(image)

        # Set the image the player starts with
        self.image = self.walking_frames_d[0]

        # Set a reference to the image rect.
        self.rect = self.image.get_rect()
Exemple #50
0
    def __init__(self):
        """ Constructor function """

        # Call the parent's constructor
        pygame.sprite.Sprite.__init__(self)

        sprite_sheet = SpriteSheet("skeevy2.png")
        # Load all the right facing images into a list
        image = sprite_sheet.get_image(0, 0, 23, 32)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(84, 0, 26, 27)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(127, 0, 25, 27)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(169, 0, 26, 28)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(126, 43, 27, 26)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(125, 86, 29, 25)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(210, 166, 29, 34)
        self.walking_frames_r.append(image)

        # Load all the right facing images, then flip them
        # to face left.
        image = sprite_sheet.get_image(0, 0, 23, 32)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(84, 0, 26, 27)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(127, 0, 25, 27)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(169, 0, 26, 28)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(126, 43, 27, 26)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(125, 86, 29, 25)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(210, 166, 29, 34)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)

        # Set the image the player starts with
        self.image = self.walking_frames_r[0]

        # Set a referance to the image rect.
        self.rect = self.image.get_rect()
Exemple #51
0
    def defineAnimations(self):
        spritesheet = SpriteSheet("TheKid.png")

        # Define idle animation
        self.idle = []
        img = spritesheet.get_image(0, 0, Player.WIDTH // 2,
                                    Player.HEIGHT // 2)
        self.idle.append(pygame.transform.scale2x(img))
        img = spritesheet.get_image(27, 0, Player.WIDTH // 2,
                                    Player.HEIGHT // 2)
        self.idle.append(pygame.transform.scale2x(img))
        img = spritesheet.get_image(55, 0, Player.WIDTH // 2,
                                    Player.HEIGHT // 2)
        self.idle.append(pygame.transform.scale2x(img))
        img = spritesheet.get_image(82, 0, Player.WIDTH // 2,
                                    Player.HEIGHT // 2)
        self.idle.append(pygame.transform.scale2x(img))

        # Define walking animation
        self.walking = []
        img = spritesheet.get_image(1, 25, Player.WIDTH // 2,
                                    Player.HEIGHT // 2)
        self.walking.append(pygame.transform.scale2x(img))
        img = spritesheet.get_image(31, 25, Player.WIDTH // 2,
                                    Player.HEIGHT // 2)
        self.walking.append(pygame.transform.scale2x(img))
        img = spritesheet.get_image(59, 25, Player.WIDTH // 2,
                                    Player.HEIGHT // 2)
        self.walking.append(pygame.transform.scale2x(img))
        img = spritesheet.get_image(87, 25, Player.WIDTH // 2,
                                    Player.HEIGHT // 2)
        self.walking.append(pygame.transform.scale2x(img))
        img = spritesheet.get_image(118, 25, Player.WIDTH // 2,
                                    Player.HEIGHT // 2)
        self.walking.append(pygame.transform.scale2x(img))

        # Define jumping animation
        self.jumping = []
        img = spritesheet.get_image(0, 69, Player.WIDTH // 2,
                                    Player.HEIGHT // 2)
        self.jumping.append(pygame.transform.scale2x(img))
        img = spritesheet.get_image(24, 69, Player.WIDTH // 2,
                                    Player.HEIGHT // 2)
        self.jumping.append(pygame.transform.scale2x(img))

        # Define falling animation
        self.falling = []
        img = spritesheet.get_image(4, 101, Player.WIDTH // 2,
                                    Player.HEIGHT // 2)
        self.falling.append(pygame.transform.scale2x(img))
        img = spritesheet.get_image(33, 101, Player.WIDTH // 2,
                                    Player.HEIGHT // 2)
        self.falling.append(pygame.transform.scale2x(img))
    def __init__(self, loc):

        # Call parent's constructor
        pygame.sprite.Sprite.__init__(self)

        # Enemy PNG
        sprite_sheet = SpriteSheet("e1_gunwalk.png")
        # Load all the right facing images into a list
        image = sprite_sheet.get_image(0, 0, 64, 78)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(64, 0, 64, 78)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(128, 0, 64, 78)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(192, 0, 64, 78)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(256, 0, 64, 78)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(320, 0, 64, 78)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(640, 0, 64, 78)
        self.walking_frames_r.append(image)

        # Load all the right facing images, then flip them
        # to face left.
        image = sprite_sheet.get_image(0, 0, 64, 78)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(64, 0, 64, 78)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(128, 0, 64, 78)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(192, 0, 64, 78)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(256, 0, 64, 78)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(320, 0, 64, 78)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(640, 0, 64, 78)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)

        # Set the image the Enemy starts with
        self.image = self.walking_frames_r[0]

        # Reference the image rect.
        self.rect = self.image.get_rect()
        self.rect.bottomleft = loc
        self.change_x = -5
Exemple #53
0
    def __init__(self):
        """ Constructor function """
        # Call the parent's constructor
        pygame.sprite.Sprite.__init__(self)

        sprite_sheet = SpriteSheet("assets\\player1.png")
        # Load all the right facing images into a list
        image = sprite_sheet.get_image(324, 261, 30, 47)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(358, 262, 26, 47)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(388, 262, 24, 47)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(414, 260, 33, 47)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(451, 259, 38, 47)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(324, 210, 39, 47)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(367, 211, 36, 47)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(408, 211, 32, 47)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(444, 210, 28, 47)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(476, 212, 35, 47)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(515, 212, 38, 47)
        self.walking_frames_r.append(image)

        # Load all the right facing images, then flip them
        # to face left.
        for x in self.walking_frames_r[:]:
            image = x
            image = pygame.transform.flip(image, True, False)
            self.walking_frames_l.append(image)

        #load the right facing jumping frames
        image = sprite_sheet.get_image(324, 63, 22, 22)
        self.jumping_frames_r.append(image)
        image = sprite_sheet.get_image(349, 65, 23, 20)
        self.jumping_frames_r.append(image)
        image = sprite_sheet.get_image(375, 64, 22, 22)
        self.jumping_frames_r.append(image)
        image = sprite_sheet.get_image(400, 64, 20, 25)
        self.jumping_frames_r.append(image)
        image = sprite_sheet.get_image(423, 64, 22, 22)
        self.jumping_frames_r.append(image)
        image = sprite_sheet.get_image(448, 66, 25, 20)
        self.jumping_frames_r.append(image)
        image = sprite_sheet.get_image(476, 64, 20, 23)
        self.jumping_frames_r.append(image)
        image = sprite_sheet.get_image(499, 64, 20, 25)
        self.jumping_frames_r.append(image)
        #load the left facing jumping frame
        for x in self.jumping_frames_r[:]:
            image = x
            image = pygame.transform.flip(image, True, False)
            self.jumping_frames_l.append(image)

        #load the sprites for aiming upwards whilst running right
        image = sprite_sheet.get_image(323, 310, 35, 51)
        self.aim_up_running_r.append(image)
        image = sprite_sheet.get_image(362, 310, 34, 51)
        self.aim_up_running_r.append(image)
        image = sprite_sheet.get_image(402, 310, 32, 51)
        self.aim_up_running_r.append(image)
        image = sprite_sheet.get_image(439, 310, 31, 51)
        self.aim_up_running_r.append(image)
        image = sprite_sheet.get_image(474, 310, 29, 51)
        self.aim_up_running_r.append(image)
        image = sprite_sheet.get_image(509, 310, 29, 51)
        self.aim_up_running_r.append(image)
        image = sprite_sheet.get_image(544, 309, 29, 51)
        self.aim_up_running_r.append(image)
        image = sprite_sheet.get_image(324, 366, 36, 51)
        self.aim_up_running_r.append(image)
        image = sprite_sheet.get_image(368, 368, 38, 49)
        self.aim_up_running_r.append(image)
        image = sprite_sheet.get_image(411, 365, 36, 51)
        self.aim_up_running_r.append(image)
        image = sprite_sheet.get_image(451, 365, 35, 51)
        self.aim_up_running_r.append(image)
        image = sprite_sheet.get_image(490, 365, 34, 51)
        self.aim_up_running_r.append(image)
        image = sprite_sheet.get_image(529, 365, 31, 51)
        self.aim_up_running_r.append(image)
        image = sprite_sheet.get_image(564, 365, 29, 51)
        self.aim_up_running_r.append(image)
        image = sprite_sheet.get_image(596, 365, 29, 51)
        self.aim_up_running_r.append(image)
        image = sprite_sheet.get_image(323, 417, 29, 51)
        self.aim_up_running_r.append(image)
        image = sprite_sheet.get_image(355, 417, 30, 51)
        self.aim_up_running_r.append(image)
        image = sprite_sheet.get_image(389, 417, 33, 51)
        self.aim_up_running_r.append(image)
        image = sprite_sheet.get_image(425, 422, 36, 51)
        self.aim_up_running_r.append(image)
        #load the sprites for aiming upwards whilst running left
        for x in self.aim_up_running_r[:]:
            image = x
            image = pygame.transform.flip(image, True, False)
            self.aim_up_running_l.append(image)

        #load the sprites for aiming downwards whilst running right
        image = sprite_sheet.get_image(323, 579, 40, 46)
        self.aim_mid_running_r.append(image)
        image = sprite_sheet.get_image(368, 575, 36, 46)
        self.aim_mid_running_r.append(image)
        image = sprite_sheet.get_image(406, 574, 35, 46)
        self.aim_mid_running_r.append(image)
        image = sprite_sheet.get_image(444, 574, 35, 46)
        self.aim_mid_running_r.append(image)

        for x in self.aim_mid_running_r[:]:
            image = x
            image = pygame.transform.flip(image, True, False)
            self.aim_mid_running_l.append(image)

        image = sprite_sheet.get_image(323, 472, 34, 45)
        self.aim_down_running_r.append(image)
        image = sprite_sheet.get_image(360, 473, 33, 45)
        self.aim_down_running_r.append(image)
        image = sprite_sheet.get_image(396, 473, 31, 45)
        self.aim_down_running_r.append(image)
        image = sprite_sheet.get_image(431, 473, 31, 45)
        self.aim_down_running_r.append(image)
        image = sprite_sheet.get_image(467, 473, 31, 45)
        self.aim_down_running_r.append(image)
        image = sprite_sheet.get_image(502, 473, 31, 45)
        self.aim_down_running_r.append(image)
        image = sprite_sheet.get_image(535, 472, 31, 45)
        self.aim_down_running_r.append(image)
        image = sprite_sheet.get_image(568, 472, 31, 45)
        self.aim_down_running_r.append(image)
        image = sprite_sheet.get_image(602, 472, 31, 45)
        self.aim_down_running_r.append(image)
        image = sprite_sheet.get_image(323, 523, 32, 45)
        self.aim_down_running_r.append(image)
        image = sprite_sheet.get_image(359, 528, 36, 45)
        self.aim_down_running_r.append(image)

        for x in self.aim_down_running_r[:]:
            image = x
            image = pygame.transform.flip(image, True, False)
            self.aim_down_running_l.append(image)

        image = sprite_sheet.get_image(323, 950, 29, 42)
        self.dead_anim.append(image)
        image = sprite_sheet.get_image(355, 950, 28, 42)
        self.dead_anim.append(image)
        image = sprite_sheet.get_image(386, 950, 32, 42)
        self.dead_anim.append(image)
        image = sprite_sheet.get_image(421, 950, 38, 42)
        self.dead_anim.append(image)
        image = sprite_sheet.get_image(462, 950, 38, 42)
        self.dead_anim.append(image)
        image = sprite_sheet.get_image(503, 950, 37, 42)
        self.dead_anim.append(image)
        image = sprite_sheet.get_image(543, 950, 32, 42)
        self.dead_anim.append(image)
        image = sprite_sheet.get_image(578, 950, 32, 42)
        self.dead_anim.append(image)
        image = sprite_sheet.get_image(613, 950, 29, 42)
        self.dead_anim.append(image)
        image = sprite_sheet.get_image(323, 998, 30, 30)
        self.dead_anim.append(image)
        image = sprite_sheet.get_image(355, 995, 33, 33)
        self.dead_anim.append(image)
        image = sprite_sheet.get_image(391, 997, 36, 31)
        self.dead_anim.append(image)
        image = sprite_sheet.get_image(430, 1010, 40, 18)
        self.dead_anim.append(image)
        image = sprite_sheet.get_image(473, 1017, 41, 11)
        self.dead_anim.append(image)
        image = sprite_sheet.get_image(323, 1031, 43, 11)
        self.dead_anim.append(image)
        image = sprite_sheet.get_image(369, 1032, 48, 10)
        self.dead_anim.append(image)
        image = sprite_sheet.get_image(420, 1033, 45, 9)
        self.dead_anim.append(image)

        #load the idle aiming up frames
        self.direct_upaim_r = sprite_sheet.get_image(613, 3, 24, 57)
        self.direct_upaim_l = pygame.transform.flip(self.direct_upaim_r, True, False)
        #load the idle frames
        self.idle_frame_r = sprite_sheet.get_image(324, 93, 35, 42)
        self.idle_frame_l = pygame.transform.flip(self.idle_frame_r, True, False)
        #load the prone frames
        self.prone_frame_r = sprite_sheet.get_image(324, 139, 50, 19)
        self.prone_frame_l = pygame.transform.flip(self.prone_frame_r, True, False)

        # Set the image the player starts with
        self.image = self.walking_frames_r[0]

        self.image = pygame.transform.scale(self.image,(self.image.get_width()*constants.playerscale,self.image.get_height()*constants.playerscale))
        # Set a referance to the image rect.
        self.rect = self.image.get_rect()
Exemple #54
0
    def __init__(self):
        """ Constructor function """
        pygame.mixer.init()
        self.jumpSound = pygame.mixer.Sound('Jump.wav')
        self.hitSound = pygame.mixer.Sound('Smacked.wav')

        #Walking frames
        self.walking_frames_l = []
        self.walking_frames_r = []

        #Idle frames
        self.idle_frames_r = []
        self.idle_frames_l = []

        #Jump frames
        self.jump_rightOrLeft = []

        #falling frames
        self.fall_rightOrLeft = []

        #Hurt frames
        self.hurt_rightOrLeft = []

        #crouch frames
        self.crouch_right = []
        self.crouch_left = []

        #Checks if player can crouch or not
        self.canCrouch = False

        #Used to determine which crouch frame to use
        self.crouching = 0

        #Checks if player is in boss level
        self.bossTime = False
        self.bossChange = False

        #Used for idle frames
        self.normalChange = False

        #Sets player hp and checks if player is dead or hurt
        self.hp = 100
        self.dead = False
        self.hurt = False
        self.getHit = False
        self.hurtCounter = 30


        # Call the parent's constructor
        pygame.sprite.Sprite.__init__(self)

        sprite_sheet = SpriteSheet("idleTest.png")


        #Right idle
        image = sprite_sheet.get_image(26, 17, 43, 106)
        self.idle_frames_r.append(image)
        self.image = image

        image = sprite_sheet.get_image(89, 17, 49, 106)
        self.idle_frames_r.append(image)

        image = sprite_sheet.get_image(164, 11, 49, 112)
        self.idle_frames_r.append(image)

        image = sprite_sheet.get_image(233, 11, 55, 112)
        self.idle_frames_r.append(image)

        image = sprite_sheet.get_image(308, 17, 49, 106)
        self.idle_frames_r.append(image)

        image = sprite_sheet.get_image(395, 23, 43, 106)
        self.idle_frames_r.append(image)



        #Left idle
        image = sprite_sheet.get_image(26, 17, 43, 106)
        image = pygame.transform.flip(image, True, False)
        self.idle_frames_l.append(image)

        image = sprite_sheet.get_image(89, 17, 49, 106)
        image = pygame.transform.flip(image, True, False)
        self.idle_frames_l.append(image)

        image = sprite_sheet.get_image(164, 11, 49, 112)
        image = pygame.transform.flip(image, True, False)
        self.idle_frames_l.append(image)

        image = sprite_sheet.get_image(233, 11, 55, 112)
        image = pygame.transform.flip(image, True, False)
        self.idle_frames_l.append(image)

        image = sprite_sheet.get_image(308, 17, 49, 106)
        image = pygame.transform.flip(image, True, False)
        self.idle_frames_l.append(image)

        image = sprite_sheet.get_image(395, 23, 43, 106)
        image = pygame.transform.flip(image, True, False)
        self.idle_frames_l.append(image)



        #Walk right
        image = sprite_sheet.get_image(26, 168, 70, 102)
        self.walking_frames_r.append(image)

        image = sprite_sheet.get_image(117, 165, 58, 106)
        self.walking_frames_r.append(image)

        image = sprite_sheet.get_image(198, 167, 46, 103)
        self.walking_frames_r.append(image)

        image = sprite_sheet.get_image(278, 169, 49, 103)
        self.walking_frames_r.append(image)

        image = sprite_sheet.get_image(351, 172, 58, 103)
        self.walking_frames_r.append(image)

        image = sprite_sheet.get_image(431, 172, 57, 103)
        self.walking_frames_r.append(image)

        image = sprite_sheet.get_image(516, 169, 52, 106)
        self.walking_frames_r.append(image)

        image = sprite_sheet.get_image(602, 172, 52, 106)
        self.walking_frames_r.append(image)

        image = sprite_sheet.get_image(46, 291, 49, 105)
        self.walking_frames_r.append(image)

        image = sprite_sheet.get_image(136, 293, 48, 105)
        self.walking_frames_r.append(image)

        image = sprite_sheet.get_image(215, 292, 61, 105)
        self.walking_frames_r.append(image)




        #Walk left
        image = sprite_sheet.get_image(26, 168, 70, 102)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)

        image = sprite_sheet.get_image(117, 165, 58, 106)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)

        image = sprite_sheet.get_image(198, 167, 46, 103)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)

        image = sprite_sheet.get_image(278, 169, 49, 103)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)

        image = sprite_sheet.get_image(351, 172, 58, 103)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)

        image = sprite_sheet.get_image(431, 172, 57, 103)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)

        image = sprite_sheet.get_image(516, 169, 52, 106)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)

        image = sprite_sheet.get_image(602, 172, 52, 106)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)

        image = sprite_sheet.get_image(46, 291, 49, 105)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)

        image = sprite_sheet.get_image(136, 293, 48, 105)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)

        image = sprite_sheet.get_image(215, 292, 61, 105)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)




        #jump right and left
        image = sprite_sheet.get_image(406, 300, 70, 106)
        self.jump_rightOrLeft.append(image)

        image = pygame.transform.flip(image, True, False)
        self.jump_rightOrLeft.append(image)



        #fall right and left
        image = sprite_sheet.get_image(510, 306, 61, 106)
        self.fall_rightOrLeft.append(image)

        image = pygame.transform.flip(image, True, False)
        self.fall_rightOrLeft.append(image)


        #crouch right
        image = sprite_sheet.get_image(37, 425, 43, 106)
        self.crouch_right.append(image)

        image = sprite_sheet.get_image(129, 430, 46, 97)
        self.crouch_right.append(image)

        image = sprite_sheet.get_image(203, 467, 52, 61)
        self.crouch_right.append(image)


        #crouch left
        image = sprite_sheet.get_image(37, 425, 43, 106)
        image = pygame.transform.flip(image, True, False)
        self.crouch_left.append(image)

        image = sprite_sheet.get_image(129, 430, 46, 97)
        image = pygame.transform.flip(image, True, False)
        self.crouch_left.append(image)

        image = sprite_sheet.get_image(203, 467, 52, 61)
        image = pygame.transform.flip(image, True, False)
        self.crouch_left.append(image)


        #hurt right and left
        image = sprite_sheet.get_image(505, 439, 70, 100)
        self.hurt_rightOrLeft.append(image)

        image = pygame.transform.flip(image, True, False)
        self.hurt_rightOrLeft.append(image)


        #Checks if player wins level
        self.winner = False

        #Used for idle frames
        self.idleCho = 0
        self.idleChange = 0

        #gets the rect of the image
        self.rect = self.image.get_rect()

        # Set speed vector of player
        self.change_x = 0
        self.change_y = 0

        # List of sprites we can bump against
        self.level = None

        # Player's bullets
        self.bullets = None

        #Sets the player's initial direction
        self.direction = 'r'
Exemple #55
0
    def __init__(self):
        # Call the parent's constructor
        pygame.sprite.Sprite.__init__(self)

        #Setting up the sprite image for the character. The first two numbers below stand for the
        #x,y coordinates of the image, the third number is the width and finally, the fourth
        #number is the height of the image.
        sprite_sheet = SpriteSheet("boy_2.png")  #This loads the sprite sheet.
        image = sprite_sheet.get_image(8, 210, 28, 45)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(40, 210, 28, 45)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(70, 210, 28, 45)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(103, 210, 28, 45)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(136, 210, 28, 45)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(166, 210, 28, 45)
        self.walking_frames_r.append(image)

        #This set of code will flip the image for when the character on the screen
        #moves to the left. It is similar to the code above however, the image is
        #simple being flipped for movement to the left.
        image = sprite_sheet.get_image(8, 210, 28, 45)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(40, 210, 28, 45)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(70, 210, 28, 45)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(103, 210, 28, 45)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(136, 210, 28, 45)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(166, 210, 28, 45)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)

        #Setting the starting image.
        self.image = self.walking_frames_r[0]

        #Setting a reference.
        self.rect = self.image.get_rect()
Exemple #56
0
 def __init__(self, sprite_sheet_data):
     pygame.sprite.Sprite.__init__(self)
     sprite_sheet = SpriteSheet("tiles_spritesheet.png")
     sprite_sheet = SpriteSheet("brokenTableSprite.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()
Exemple #57
0
    def __init__(self, ai_settings, screen):
        """Initialize the ship, and set its starting position."""
        super(Pacman, self).__init__()
        self.screen = screen
        self.ai_settings = ai_settings
        self.frame = 0
        self.centerx = 300
        self.centery = 300
        self.pacframesl = []
        self.pacframesr = []
        self.pacframesu = []
        self.pacframesd = []
        self.pacex = []

        # Load the ship image, and get its rect.
        sprite_sheet = SpriteSheet('images/spreadsheet.png')
        image = sprite_sheet.get_image(0, 160, 32, 32)
        self.pacframesl.append(image)
        image = sprite_sheet.get_image(32, 160, 32, 32)
        self.pacframesl.append(image)
        image = sprite_sheet.get_image(0, 192, 32, 32)
        self.pacframesl.append(image)
        image = sprite_sheet.get_image(32, 192, 32, 32)
        self.pacframesl.append(image)
        self.image = self.pacframesl[0]

        sprite_sheet = SpriteSheet('images/spreadsheet.png')
        image = sprite_sheet.get_image(0, 160, 32, 32)
        image = pygame.transform.rotate(image, 180)
        self.pacframesr.append(image)
        image = sprite_sheet.get_image(32, 160, 32, 32)
        image = pygame.transform.rotate(image, 180)
        self.pacframesr.append(image)
        image = sprite_sheet.get_image(0, 192, 32, 32)
        image = pygame.transform.rotate(image, 180)
        self.pacframesr.append(image)
        image = sprite_sheet.get_image(32, 192, 32, 32)
        image = pygame.transform.rotate(image, 180)
        self.pacframesr.append(image)

        sprite_sheet = SpriteSheet('images/spreadsheet.png')
        image = sprite_sheet.get_image(0, 160, 32, 32)
        image = pygame.transform.rotate(image, 270)
        self.pacframesu.append(image)
        image = sprite_sheet.get_image(32, 160, 32, 32)
        image = pygame.transform.rotate(image, 270)
        self.pacframesu.append(image)
        image = sprite_sheet.get_image(0, 192, 32, 32)
        image = pygame.transform.rotate(image, 270)
        self.pacframesu.append(image)
        image = sprite_sheet.get_image(32, 192, 32, 32)
        image = pygame.transform.rotate(image, 270)
        self.pacframesu.append(image)

        sprite_sheet = SpriteSheet('images/spreadsheet.png')
        image = sprite_sheet.get_image(0, 160, 32, 32)
        image = pygame.transform.rotate(image, 90)
        self.pacframesd.append(image)
        image = sprite_sheet.get_image(32, 160, 32, 32)
        image = pygame.transform.rotate(image, 90)
        self.pacframesd.append(image)
        image = sprite_sheet.get_image(0, 192, 32, 32)
        image = pygame.transform.rotate(image, 90)
        self.pacframesd.append(image)
        image = sprite_sheet.get_image(32, 192, 32, 32)
        image = pygame.transform.rotate(image, 90)
        self.pacframesd.append(image)

        sprite_sheet = SpriteSheet('images/spreadsheet.png')
        image = sprite_sheet.get_image(0, 0, 32, 32)
        self.pacex.append(image)
        sprite_sheet = SpriteSheet('images/spreadsheet.png')
        image = sprite_sheet.get_image(32, 0, 32, 32)
        self.pacex.append(image)
        sprite_sheet = SpriteSheet('images/spreadsheet.png')
        image = sprite_sheet.get_image(64, 0, 32, 32)
        self.pacex.append(image)
        sprite_sheet = SpriteSheet('images/spreadsheet.png')
        image = sprite_sheet.get_image(96, 0, 32, 32)
        self.pacex.append(image)
        sprite_sheet = SpriteSheet('images/spreadsheet.png')
        image = sprite_sheet.get_image(0, 32, 32, 32)
        self.pacex.append(image)
        sprite_sheet = SpriteSheet('images/spreadsheet.png')
        image = sprite_sheet.get_image(32, 32, 32, 32)
        self.pacex.append(image)
        sprite_sheet = SpriteSheet('images/spreadsheet.png')
        image = sprite_sheet.get_image(64, 32, 32, 32)
        self.pacex.append(image)
        sprite_sheet = SpriteSheet('images/spreadsheet.png')
        image = sprite_sheet.get_image(96, 32, 32, 32)
        self.pacex.append(image)
        sprite_sheet = SpriteSheet('images/spreadsheet.png')
        image = sprite_sheet.get_image(0, 64, 32, 32)
        self.pacex.append(image)
        sprite_sheet = SpriteSheet('images/spreadsheet.png')
        image = sprite_sheet.get_image(32, 64, 32, 32)
        self.pacex.append(image)
        sprite_sheet = SpriteSheet('images/spreadsheet.png')
        image = sprite_sheet.get_image(64, 64, 32, 32)
        self.pacex.append(image)
        sprite_sheet = SpriteSheet('images/spreadsheet.png')
        image = sprite_sheet.get_image(96, 64, 32, 32)
        self.pacex.append(image)
        sprite_sheet = SpriteSheet('images/spreadsheet.png')
        image = sprite_sheet.get_image(0, 96, 32, 32)
        self.pacex.append(image)
        sprite_sheet = SpriteSheet('images/spreadsheet.png')
        image = sprite_sheet.get_image(32, 96, 32, 32)
        self.pacex.append(image)
        sprite_sheet = SpriteSheet('images/spreadsheet.png')
        image = sprite_sheet.get_image(64, 96, 32, 32)
        self.pacex.append(image)
        sprite_sheet = SpriteSheet('images/spreadsheet.png')
        image = sprite_sheet.get_image(96, 96, 32, 32)
        self.pacex.append(image)
        sprite_sheet = SpriteSheet('images/spreadsheet.png')
        image = sprite_sheet.get_image(0, 128, 32, 32)
        self.pacex.append(image)
        sprite_sheet = SpriteSheet('images/spreadsheet.png')
        image = sprite_sheet.get_image(32, 128, 32, 32)
        self.pacex.append(image)
        sprite_sheet = SpriteSheet('images/spreadsheet.png')
        image = sprite_sheet.get_image(64, 128, 32, 32)
        self.pacex.append(image)
        sprite_sheet = SpriteSheet('images/spreadsheet.png')
        image = sprite_sheet.get_image(96, 128, 32, 32)
        self.pacex.append(image)

        self.rect = self.image.get_rect()
        self.screen_rect = screen.get_rect()

        # Start each new ship at the bottom center of the screen.
        self.rect.centery = 304
        # self.rect.centery = self.screen_rect.centery
        self.rect.centerx = self.screen_rect.centerx
        # self.rect.bottom = self.screen_rect.bottom

        # Store a decimal value for the ship's center.
        self.centerx = float(self.rect.centerx)
        self.centery = float(self.rect.centery)

        # Movement flags.
        self.moving_right = False
        self.moving_left = False
        self.moving_up = False
        self.moving_down = False

        self.power = 0
        self.seconds = 0
    def __init__(self, bounds, direction):
        # Bullet constructor.
        pygame.sprite.Sprite.__init__(self)

        self.direction = direction
        self.bounds = bounds

        # Add some random inaccuracy
        self.accuracy = random.randint(-1, 1)

        # Laser PNG
        sprite_sheet = SpriteSheet("laser.png")
        # Load all images into a list
        image = sprite_sheet.get_image(0, 0, 48, 46)
        self.bullet_frames.append(image)
        image = sprite_sheet.get_image(48, 0, 48, 46)
        self.bullet_frames.append(image)
        image = sprite_sheet.get_image(96, 0, 48, 46)
        self.bullet_frames.append(image)
        image = sprite_sheet.get_image(96, 0, 48, 46)
        self.bullet_frames.append(image)
        image = sprite_sheet.get_image(96, 0, 48, 46)
        self.bullet_frames.append(image)
        image = sprite_sheet.get_image(96, 0, 48, 46)
        self.bullet_frames.append(image)
        image = sprite_sheet.get_image(96, 0, 48, 46)
        self.bullet_frames.append(image)
        image = sprite_sheet.get_image(96, 0, 48, 46)
        self.bullet_frames.append(image)
        image = sprite_sheet.get_image(96, 0, 48, 46)
        self.bullet_frames.append(image)
        image = sprite_sheet.get_image(96, 0, 48, 46)
        self.bullet_frames.append(image)
        image = sprite_sheet.get_image(96, 0, 48, 46)
        self.bullet_frames.append(image)
        image = sprite_sheet.get_image(96, 0, 48, 46)
        self.bullet_frames.append(image)

        # Set the image the Bullet starts with
        self.image = self.bullet_frames[0]

        # Reference the image rect.
        self.rect = self.image.get_rect()
Exemple #59
0
    def __init__(self, type):

        pygame.sprite.Sprite.__init__(self)

        self.type = type

        sprite_sheet = SpriteSheet("assets\\enemies1.png")
        image = sprite_sheet.get_image(321, 1, 32, 47)
        self.walk_r.append(image)
        image = sprite_sheet.get_image(356, 1, 21, 47)
        self.walk_r.append(image)
        image = sprite_sheet.get_image(380, 1, 28, 47)
        self.walk_r.append(image)
        image = sprite_sheet.get_image(411, 1, 38, 47)
        self.walk_r.append(image)
        image = sprite_sheet.get_image(452, 1, 36, 47)
        self.walk_r.append(image)
        image = sprite_sheet.get_image(491, 1, 28, 47)
        self.walk_r.append(image)
        image = sprite_sheet.get_image(522, 1, 21, 47)
        self.walk_r.append(image)
        image = sprite_sheet.get_image(546, 1, 32, 47)
        self.walk_r.append(image)
        image = sprite_sheet.get_image(581, 1, 37, 47)
        self.walk_r.append(image)
        for x in self.walk_r[:]:
            image = x
            image = pygame.transform.flip(image, True, False)
            self.walk_l.append(image)

        self.up_r = sprite_sheet.get_image(321, 246, 25, 60)
        self.up_l = pygame.transform.flip(self.up_r, True, False)
        self.upangle_r = sprite_sheet.get_image(405, 250, 31, 56)
        self.upangle_l = pygame.transform.flip(self.upangle_r, True, False)
        self.mid_r = sprite_sheet.get_image(507, 261, 36, 45)
        self.mid_l = pygame.transform.flip(self.mid_r, True, False)
        self.downangle_r = sprite_sheet.get_image(321, 312, 32, 45)
        self.downangle_l = pygame.transform.flip(self.downangle_r, True, False)
        self.down_r = sprite_sheet.get_image(426, 312, 25, 45)
        self.down_l = pygame.transform.flip(self.down_r, True, False)

        image = sprite_sheet.get_image(528, 216, 49, 38)
        self.die_R_r.append(image)
        image = sprite_sheet.get_image(528, 178, 49, 38)
        self.die_R_r.append(image)
        for x in self.die_R_r[:]:
            image = x
            image = pygame.transform.flip(image, True, False)
            self.die_R_l.append(image)

        image = sprite_sheet.get_image(321, 109, 37, 39)
        self.die_M_r.append(image)
        image = sprite_sheet.get_image(358, 109, 37, 39)
        self.die_M_r.append(image)
        for x in self.die_M_r[:]:
            image = x
            image = pygame.transform.flip(image, True, False)
            self.die_M_l.append(image)

        #0 = Melee 1 = Ranged
        if (self.type == 0):
            self.speed = 4
            self.health = 1
            self.pos = Vector(0, 0)
            self.image = self.walk_l[0]

        elif (self.type == 1):
            self.speed = 2
            self.health = 1
            self.pos = Vector(0, 0)
            self.sprite = None
            self.image = self.mid_l
            bullet_list = pygame.sprite.Group()
        self.image = pygame.transform.scale(
            self.image, (self.image.get_width() * constants.enemyscale,
                         self.image.get_height() * constants.enemyscale))
        self.rect = self.image.get_rect()
    def __init__(self, loc, bounds):

        # Call parent's constructor
        pygame.sprite.Sprite.__init__(self)

        # Player PNG
        sprite_sheet = SpriteSheet("p1_gunwalk.png")
        # Load all the right facing images into a list
        image = sprite_sheet.get_image(0, 0, 64, 78)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(64, 0, 64, 78)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(128, 0, 64, 78)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(192, 0, 64, 78)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(256, 0, 64, 78)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(320, 0, 64, 78)
        self.walking_frames_r.append(image)
        image = sprite_sheet.get_image(640, 0, 64, 78)
        self.walking_frames_r.append(image)

        # Load all the right facing images, then flip them
        # to face left.
        image = sprite_sheet.get_image(0, 0, 64, 78)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(64, 0, 64, 78)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(128, 0, 64, 78)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(192, 0, 64, 78)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(256, 0, 64, 78)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(320, 0, 64, 78)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)
        image = sprite_sheet.get_image(640, 0, 64, 78)
        image = pygame.transform.flip(image, True, False)
        self.walking_frames_l.append(image)

        # Set the image the player starts with
        self.image = self.walking_frames_r[0]

        # Reference the image rect.
        self.rect = self.image.get_rect()

        self.rect.center = loc
        self.bounds = bounds
        self.bullets = Group()
        self.bulletcasings = Group()