Ejemplo n.º 1
0
	def __init__(self, screen):
		sprite_sheet = pygame.image.load('enemy_sprite_sheet.png')
		self.screen = screen

		#Create the player's characters
		self.player_characters = []
		for i in range(5):
			character = sprite.Sprite('characters/syclich.txt', sprite_sheet, screen, False)
			self.player_characters.append(character)

		#Set player characters in position
		player_back_row_x = 50
		player_back_row_y = 300
		player_rise = 200
		player_run = 50
		for i in range(2):
			self.player_characters[i].rect.x = player_back_row_x + i*player_run
			self.player_characters[i].rect.y = player_back_row_y - i*player_rise
		player_front_row_x = 200
		player_front_row_y = 500
		for i in range(2,5):
			self.player_characters[i].rect.x = player_front_row_x + (i-2)*player_run
			self.player_characters[i].rect.y = player_front_row_y - (i-2)*player_rise

		#Create enemy characters
		self.enemy_characters = []
		for i in range(5):
			character = sprite.Sprite('characters/lobo.txt', sprite_sheet, screen, True)
			self.enemy_characters.append(character)

		#Select first enemy character
		self.selected_index = 0
		self.enemy_characters[self.selected_index].selected = True

		#Set enemy characters in position
		enemy_back_row_x = 950
		enemy_back_row_y = 300
		enemy_rise = 200
		enemy_run = -50
		for i in range(2):
			self.enemy_characters[i].rect.x = enemy_back_row_x + i*enemy_run
			self.enemy_characters[i].rect.y = enemy_back_row_y - i*enemy_rise
		enemy_front_row_x = 800
		enemy_front_row_y = 500
		for i in range(2,5):
			self.enemy_characters[i].rect.x = enemy_front_row_x + (i-2)*enemy_run
			self.enemy_characters[i].rect.y = enemy_front_row_y - (i-2)*enemy_rise
		
		#Variables to keep track of animation
		self.animating = False
		self.animation_phase = 0
		self.animation_countdown = 0
		self.target_coords = (0,0)
		self.target = None
		self.animation_list = []
Ejemplo n.º 2
0
    def __init__(self):
        self._hp_logo = sprite.Sprite()
        self._hp_logo.load("graphics/menu/hp_logo.bmp")
        self._hp_logo.set_color_key()

        self._tps_logo = sprite.Sprite()
        self._tps_logo.load("graphics/menu/tps_logo.bmp")
        self._tps_logo.set_color_key()

        self._tps_logo_bkg = sprite.Sprite()
        self._tps_logo_bkg.load("graphics/menu/tps_logo_bkg.bmp")
Ejemplo n.º 3
0
 def __init__(self, loc, name):
     ## Unique object ID
     self.id = constants.globalId
     constants.globalId += 1
     ## Name of object, used to look up the sprite.
     self.name = name
     ## Faction of object, for use in reacting to collisions
     self.faction = name
     ## Location of the object
     self.loc = loc
     ## Current velocity of the object
     self.vel = Vector2D(0, 0)
     ## True if gravity should be applied during the update cycle.
     self.isGravityOn = True
     ## Acceleration due to gravity, added to self.vel each update cycle.
     self.gravity = defaultGravity.copy()
     ## Maximum velocity in X and Y directions (handled separately)
     self.maxVel = defaultMaxVel.copy()
     ## Controls if we limit self.vel to be less than self.maxVel
     self.shouldApplyVelocityCap = True
     ## Direction object is facing (1: right, -1: left)
     self.facing = 1
     ## Sprite for animations and bounding polygons
     self.sprite = sprite.Sprite(name, self, self.loc)
     ## List of collisions received since the last update cycle.
     self.collisions = []
     ## Damage to do to other objects on contact.
     self.touchDamage = 0
     ## Damage that can be sustained before discorporating
     self.health = constants.BIGNUM
     ## Current state for movement logic
     self.state = objectstate.ObjectState(self)
Ejemplo n.º 4
0
    def load(self, location):
        f = open(location, 'rb')

        self.g_width = struct.unpack('<h', f.read(2))[0]
        self.g_height = struct.unpack('<h', f.read(2))[0]

        self.sprite_bank = []
        bank_end = False
        while not bank_end:
            sprite_name = f.read(32).replace('\0', '')
            if sprite_name == '-'*32:
                bank_end = True
                continue
            if sprite_name != '':
                self.sprite_bank += [sprite.Sprite('SPRITES\\compiled\\%s.sprite' % sprite_name)]

        # f.seek(16388, 0)

        self.grid = []
        for tile_index in range(self.g_width*self.g_height):
            data = f.read(2)
            tile_pointer = struct.unpack('<h', data)[0]
            if tile_pointer < len(self.sprite_bank):
                self.grid += [tile_pointer]
            else:
                self.grid += [-1]

        f.close()
Ejemplo n.º 5
0
    def __init__(self,
                 ID,
                 x,
                 y,
                 points,
                 colour1=(200, 200, 200),
                 colour2=(255, 255, 255)):
        self.scale_factor = [6, 3]  #[0] = width, [1] = height
        width = 4
        height = 56
        bar_outline = sprite.Sprite(universal_var.main_sprite, x, y,
                                    width * self.scale_factor[0],
                                    height * self.scale_factor[1],
                                    [(universal_var.main_sprite,
                                      [universal_var.misc_images['bar']], 1)])

        super().__init__(ID, x, y, [bar_outline], None, False, width, height)
        self.display_layer = 5
        self.points = points
        self.original_points = points

        self.energy_rect_width = width  #rect refers to energy bar that's coloured
        self.energy_rect_height = height
        self.colour1 = colour1
        self.colour2 = colour2
        self.all_timers.add_ID('time_till_increment', 2)
        self.all_timers.add_ID('play_sound', 3)
Ejemplo n.º 6
0
    def __init__(self, gridLoc, terrain, orientation, subType=None):

        ## Location in gridspace
        self.gridLoc = gridLoc

        ## Location in realspace
        self.loc = gridLoc.toRealspace()

        ## There are currently 20 different block orientations, most of which
        # have a square collision polygon.
        self.orientation = orientation

        ## TerrainInfo instance to let the block know what it looks like.
        self.terrain = terrain

        imagePath = os.path.join('terrain', self.terrain.zone,
                                 self.terrain.region, 'blocks')
        ## To allow blocks to be animated, we use Sprites for drawing them.
        self.sprite = sprite.Sprite(imagePath, self, self.loc, False)
        self.sprite.setAnimation(self.orientation, False)
        ## Purely graphical variation on the block.
        self.subType = subType
        if self.subType is None:
            anim = self.sprite.getCurrentAnimationObject()
            self.subType = random.choice(range(0, len(anim.frames) + 1))

        ## Bounding rect
        self.rect = self.sprite.getBounds(self.loc)
Ejemplo n.º 7
0
def EntityLoop():
    global Players, name
    deleteItems = []
    for item in Items:
        image = sprite.Player(screen, (0, 0, 0), 50, item.x - scrollX + 25,
                              item.y - scrollY + 25, True, 0, item.degrees)
        image.image = itemImages[itemIDs[item.ID]]
        image.update()
        item.degrees += 1
        if round(player.x) > image.x - 50 and round(player.x) < image.x + 50:
            if round(player.y) > image.y - 50 and round(
                    player.y) < image.y + 50:
                item.pickUp()
                deleteItems.append(item)
    for item in deleteItems:
        DeleteItemAsync(item)
        Items.remove(item)
    for Player in Players:
        if Player.name != name:
            image = sprite.Sprite(screen, (0, 0, 0), 50, Player.x - scrollX,
                                  Player.y - scrollY)
            image.updateImage()
            sprite.text(str(Player.name),
                        Player.x - scrollX - ((len(Player.name) * 20) / 2),
                        Player.y - scrollY - 40)
Ejemplo n.º 8
0
    def __init__(self, x, y, direction="right"):
        width = 86
        height = 175
        gate_open = [
            universal_var.prop_images['gate_1'],
            universal_var.prop_images['gate_2'],
            universal_var.prop_images['gate_3'],
            universal_var.prop_images['gate_4'],
            universal_var.misc_images['blank']
        ]

        gate_close = gate_open[::-1]

        gate_sprite = sprite.Sprite(
            universal_var.main_sprite, x, y, width, height,
            [('gate_open', gate_open, 22), ('gate_close', gate_close, 22),
             ('gate_idle', [universal_var.prop_images['gate_1']], 22)])

        super().__init__("gate", x, y, [gate_sprite], None, True, width,
                         height)
        self.x = x
        self.y = y
        self.transition_collbox = camera.Transition_box('gate_tbox',
                                                        x + 30,
                                                        y,
                                                        direction=direction)
        self.play_gate_sound = True
Ejemplo n.º 9
0
    def move(self):
        """
        Method for bullet movement. The movement distance is calculated by the elapsed time since the last call
        and the speed as defined at instance creation.

        :returns:
        """

        time_delta = self._timer.get_delta()
        vector_delta = time_delta * self._speed

        self._position = project_point(self._position[0], self._position[1],
                                       self._direction, vector_delta)

        self._rect = pygame.Rect(self._position[0] - self._image_size[0] / 2,
                                 self._position[1] - self._image_size[1] / 2,
                                 self._image_size[0], self._image_size[1])

        if self._param_dict["has_trail"]:
            self._trail = sprite.Sprite(
                self._trail_image.extract_by_height(vector_delta + 2))

            #Projekt the center of the trail sprite so it is right behind the rocket
            new_center = project_point(
                self._rect.center[0], self._rect.center[1],
                self._shift_direction,
                floor(self._original_size_y / 2) + floor(vector_delta / 2))
            self._trail.rotate(self._direction)
            self._trail.set_center(new_center[0], new_center[1])
Ejemplo n.º 10
0
	def __init__(self):
		self._mapx = 0;
		self._mapy = 0;
		self._portals = None;
		
		self._background = sprite.Sprite();
		self._background.load("graphics/rooms/courtyard.bmp");
Ejemplo n.º 11
0
    def __init__(self):
        self._mapx = 572
        self._mapy = 5742
        self._portals = portals.Portal()

        self._background = sprite.Sprite()
        self._background.load("graphics/rooms/hallways.bmp")
Ejemplo n.º 12
0
 def __init__( s, screen, level, teams ):
    cfg = loader.cfgloader.get( level )
    s.screen = screen
    s.level = level
    s.map = map.Map( cfg['map'] )
    s.teams = teams
    s.cursorSprite = sprite.Sprite( "cursor.sprite" )
    s.cursorSprite.setAnim( "normal" )
Ejemplo n.º 13
0
    def init_graphics(self):

        for i in range(30):

            tile = int(math.fmod(i, 2))
            sp = sprite.Sprite(
                test_image_load.name_map[objects.tiles.name(tile)],
                x=i * 8,
                y=i * 8,
                z=-i,
                batch=self.batch)
            self.list_sprites.append(sp)

        self.pointer = sprite.Sprite(test_image_load.name_map["WALL_WOOD"],
                                     x=0,
                                     y=0,
                                     z=0,
                                     group=groups.floor,
                                     batch=self.batch)
Ejemplo n.º 14
0
def load_sprites():
    global sprite_bank
    for f in os.listdir("SPRITES\\compiled\\"):
        if f.endswith(".sprite"):
            sprite_bank += [sprite.Sprite('SPRITES\\compiled\\%s' % f)]

    keep_sprites = ['CHAR_CART']
    for i in range(len(sprite_bank)):
        if sprite_bank[i].sprite_name in keep_sprites:
            sprite_bank[i].keep_in_bank = True
Ejemplo n.º 15
0
def t_init(g,r,n,hit_groups,hit,*params):
    t = sprite.Sprite(r,n)
    for grp in hit_groups: t.hit_groups.add(grp)
    def _hit(g,a,b):
        return hit(g,a,b,*params)
    t.hit = _hit
    t.standable = 0
    if len(params) > 0:
        t.standable = params[0]
    g.layer[r.centery/TH][r.centerx/TW] = t
    return t
Ejemplo n.º 16
0
    def __init__(self, x, y, colour, window, player_number):
        self.previous_positions = []  #The last few positions it has been in
        self.previous_inputs = []  #The last few inputs the player recieved

        self.current_input = Player_Input(
            0, 0, 0, 0, 0, 0, 0)  #The current Input it thinks it has
        self.current_position = Positional_Data(x, y, 0,
                                                state.alive)  #Current position
        self.sprite = sprite.Sprite((x, y), sprite.drawCircle, (window, 3),
                                    colour)

        self.player_number = player_number
Ejemplo n.º 17
0
    def create_sprite(self, name):
        name = str(name)

        if self.sprite_controller.get_sprite(name) is not False:
            raise Exception(f'Sprite {name} already exists.')

        sprite_id = len(self.sprite_controller.list_of_sprites)

        new_spite = sprite.Sprite(sprite_id, name)

        self.sprite_controller.list_of_sprites.append(new_spite)
        return new_spite
Ejemplo n.º 18
0
 def __init__(self, loc, action, spriteName, animationName, frameNum=0):
     ## Draw location on the screen
     self.loc = loc
     ## Action to perfom if clicked
     self.action = action
     ## Required to use sprites
     self.facing = 1
     ## Sprite for drawing and mouse picking.
     self.sprite = sprite.Sprite(spriteName, self)
     self.sprite.setAnimation(animationName, False)
     animation = self.sprite.getCurrentAnimationObject()
     animation.frame = frameNum
     animation.prevFrame = frameNum
Ejemplo n.º 19
0
def make(root, dataset, actions):
    frame_number = 20
    frame_size = (64, 64)
    fps = 60
    fmt = cv2.VideoWriter_fourcc('m', 'p', '4', 'v')
    if os.path.exists(root):
        shutil.rmtree(root)
        os.makedirs(root)
    else:
        os.makedirs(root)
    label_dict = { 'Action label' : {}, 'Video label' : {} }
    camera_ = camera.Camera(frame_size)
    for action_label, action_class in enumerate(actions):
        action = action_class(sprite.Sprite(np.zeros((1, 1))))
        action_name = action.__class__.__name__
        label_dict['Action label'][action_name] = action_label
    video_i = 0
    total = len(dataset) * len(actions)
    progress = tqdm(total=total, desc='Converting')
    for image, label in dataset:
        image = np.array(image, dtype=np.uint8)
        sprite_ = sprite.Sprite(image)
        for action_label, action_class in enumerate(actions):
            action = action_class(sprite_)
            action_name = action.__class__.__name__
            video_i += 1
            
            video_name = f'{video_i}.mp4'
            video_path = f'{root}/{video_name}'
            writer = cv2.VideoWriter(video_path, fmt, fps, frame_size, False)
            action.start(frame_number, frame_size[1], frame_size[0])
            for _ in range(frame_number):
                action.update()
                writer.write(camera_.rendering(sprite_))
            writer.release()
            label_dict['Video label'][video_name] = action_name
            progress.update(1)
    with open(f'{root}/0.toml', mode='w') as f:
        toml.dump(label_dict, f)
Ejemplo n.º 20
0
	def __init__(self, id, name, x, y):
		
		self.name = name
		self.id = id
		self.sprite = sprite.Sprite("test")
		self.player = 0
		
		self.x = x
		self.y = y
		
		print x,y,self.x,self.y
		
		self.moveQueue = MoveQueue(self)
def get_sprite(image_name, r, c):
    if image_name == 'spike_trap':
        s = sprite.AnimatedSprite(screen, c * size, r * size,
                                  spike_floor_frames, 20)
    elif image_name == 'wall_fountain_mid_red':
        s = sprite.AnimatedSprite(screen, c * size, r * size,
                                  fountain_mid_red_frames, 15)
    elif image_name == 'wall_fountain_basin_red':
        s = sprite.AnimatedSprite(screen, c * size, r * size, basin_red_frames,
                                  15)
    else:
        s = sprite.Sprite(screen, c * size, r * size, images[image_name])
    return s
Ejemplo n.º 22
0
    def __init__(self):
        width = 60
        height = 50
        x, y = 0, 0
        concrete_shot_liquid = [
            universal_var.projectiles['concrete_shot_1'],
            universal_var.projectiles['concrete_shot_2']
        ]
        concrete_shot_solid = [
            universal_var.projectiles['concrete_block_1'],
            universal_var.projectiles['concrete_block_2']
        ]
        concrete_shatter = [
            universal_var.projectiles['concrete_block_3'],
            universal_var.projectiles['concrete_block_4']
        ]
        bullet_sprite = sprite.Sprite(
            universal_var.main_sprite, x, y, width, height,
            [('concrete_shot_liquid', concrete_shot_liquid, 6),
             ('concrete_shot_solid', concrete_shot_solid, 6),
             ('concrete_block_shatter', concrete_shatter, 14)])

        main_coll_box = sprite.Collision_box(universal_var.hitbox,
                                             0,
                                             0,
                                             width - 20,
                                             height - 17, (240, 240, 0),
                                             x_offset=10)
        ground_collbox = sprite.Collision_box('ground_collbox',
                                              x,
                                              y,
                                              width - 30,
                                              15, (150, 180, 100),
                                              x_offset=15,
                                              y_offset=height - 17)

        super().__init__('Enemy_projectile_1',
                         x,
                         y, [bullet_sprite], [main_coll_box, ground_collbox],
                         width=width,
                         height=height,
                         display_layer=4)
        self.damage_points = 13
        self.grounded = False
        self.solidified = False
        self.is_shattered = False
        self.all_timers = Timer()
        self.all_timers.add_ID('shatter', 28)
        Concrete_shot.all_p_stack.push(self)
        Concrete_shot.add_to_class_lst(self, Concrete_shot.all_p_lst, self.ID)
Ejemplo n.º 23
0
    def __init__(self, name):
        self.sprite = sprite.Sprite(
            os.path.join('effects', 'environments', name), self)

        ## All spaces that have the effect.
        self.spaces = set()
        ## Name of the effect, which is the same as the module name for the
        # effect's code (and not necessarily the same as the class in that
        # module!).
        self.name = name
        ## Dict of game objects currently in the effect.
        self.residentObjects = dict()
        ## Dict of game objects that we handled this frame.
        self.handledObjects = dict()
Ejemplo n.º 24
0
 def __init__(self,
              engine,
              arquivo,
              animado,
              fps=15,
              quadros=[1, 1],
              colorkey=[255, 0, 255]):
     self.engine = engine
     self.updatetime = 0
     self.fps = fps
     self.sprite = sprite.Sprite(engine, arquivo, quadros, colorkey)
     self.anim_range = self.sprite.frame_range
     self.quadroat = 1
     self.animado = animado
Ejemplo n.º 25
0
def constructMap(filename):
    # Dictionary mapping tileset abbreviations to file names
    image_dict = {
        'empt': 'tile-clear.png',
        'hole': 'tile-hole.png',
        '1wl ': 'tile-wall-1a.png',
        '1wu ': 'tile-wall-1b.png',
        '1wr ': 'tile-wall-1c.png',
        '1wd ': 'tile-wall-1d.png',
        'chek': 'tile-hammer-wrench.png',
        'cv1d': 'tile-conveyor-1a.png',
        'cv1l': 'tile-conveyor-1b.png',
        'cv1u': 'tile-conveyor-1c.png',
        'cv1r': 'tile-conveyor-1d.png',
        'cvlr': 'tile-conveyor-1-turnleft_a.png',
        'cvld': 'tile-conveyor-1-turnleft_b.png',
        'cvll': 'tile-conveyor-1-turnleft_c.png',
        'cvlu': 'tile-conveyor-1-turnleft_d.png',
        'cvrr': 'tile-conveyor-1-turnright_a.png',
        'cvrd': 'tile-conveyor-1-turnright_b.png',
        'cvrl': 'tile-conveyor-1-turnright_c.png',
        'cvru': 'tile-conveyor-1-turnright_d.png',
        '2wur': 'tile-wall-2a.png',
        '2wrd': 'tile-wall-2b.png',
        '2wdl': 'tile-wall-2c.png',
        '2wlu': 'tile-wall-2d.png'
    }
    # Open file to read in text representation of the map
    file_handle = open(filename, 'r')
    line = file_handle.readline()
    line = line.strip()
    images = []  # 2d array of sprites
    board = []  # 2d array of tile names
    while line:
        array = line.split(',')
        row_array_img = []
        row_array_name = []
        for i in range(len(array)):
            img = pygame.image.load('tiles/' + image_dict[array[i]])
            # Scale image
            img = pygame.transform.scale(img, (tile_width, tile_height))
            row_array_img.append(
                sprite.Sprite(i * tile_width,
                              len(images) * tile_width, img))
            row_array_name.append(array[i])
        images.append(row_array_img)
        board.append(row_array_name)
        line = file_handle.readline()
        line = line.strip()
    return images, board
Ejemplo n.º 26
0
    def __init__(s, cfgfile):
        cfg = loader.cfgloader.get(cfgfile)
        s.cfgfile = cfgfile
        s.name = cfg['name']
        s.cls = cfg['class']
        s.movement = cfg['movement']
        s.movementMode = cfg['movementMode']

        s.maxhp = cfg['maxhp']
        s.hp = s.maxhp
        s.strength = cfg['strength']
        s.magic = cfg['magic']
        s.speed = cfg['speed']
        s.skill = cfg['skill']
        s.luck = cfg['luck']
        s.defense = cfg['defense']
        s.mdefense = cfg['mdefense']
        s.constitution = cfg['constitution']

        s.hpg = cfg['hpg']
        s.strengthg = cfg['strengthg']
        s.magicg = cfg['magicg']
        s.speedg = cfg['speedg']
        s.skillg = cfg['skillg']
        s.luckg = cfg['luckg']
        s.defenseg = cfg['defenseg']
        s.mdefenseg = cfg['mdefenseg']

        s.weaponType = cfg['weaponType']
        s.sword = cfg['sword']
        s.axe = cfg['axe']
        s.spear = cfg['spear']
        s.bow = cfg['bow']
        s.light = cfg['light']
        s.dark = cfg['dark']
        s.anima = cfg['anima']
        s.staff = cfg['staff']

        s.experience = cfg['experience']
        s.level = cfg['level']
        s.promotedcls = cfg['promotedcls']
        s.items = []
        s.equippedWeapon = 0

        s.portraitFile = cfg['portraitFile']
        s.spriteFile = cfg['spriteFile']
        s.portrait = loader.imgloader.get(s.portraitFile)
        s.sprite = sprite.Sprite(s.spriteFile)
        s.sprite.setAnim('standAnim')
Ejemplo n.º 27
0
def t_init(g, r, n, hit_groups, hit,
           *params):  #MYNOTE t_init(g,pygame.Rect(x*TW,y*TH,TW,TH),n,[],None)
    t = sprite.Sprite(r, n)
    for grp in hit_groups:
        t.hit_groups.add(grp)

    def _hit(g, a, b):
        return hit(g, a, b, *params)

    t.hit = _hit
    t.standable = 0
    if len(params) > 0:
        t.standable = params[0]
    g.layer[r.centery / TH][r.centerx / TW] = t
    return t  #MYNOTE add the sprite into game.layer
Ejemplo n.º 28
0
    def __init__(self):
        sprite.Sprite.__init__(self)
        """
        Create new paddle instance - actually two paddles mashed together
        """

        self.width = 100
        self.height = 5
        self.drag = 5
        self.timer = 0
        self.flicker = 0
        self.left_paddle = sprite.Sprite()
        self.right_paddle = sprite.Sprite()
        self.left_paddle.x = 10
        self.left_paddle.y = 440
        self.right_paddle.y = 440
        self.left_paddle.width = 50
        self.right_paddle.width = 50
        self.right_paddle.x = self.left_paddle.x + self.left_paddle.width
        self.left_paddle.max = 15
        self.right_paddle.max = 15
        self.left_paddle.height = 5
        self.right_paddle.height = 5
        self.split_timer = 0
        self.number_of_powerups = 0
        self.powerup = None
        self.shot = None

        # sound effects
        self.sound_gameover = pygame.mixer.Sound('./breakout/gameover.ogg')
        self.sound_powerup = pygame.mixer.Sound('./breakout/powerup.ogg')
        self.sound_bounce = pygame.mixer.Sound('./breakout/bounce.ogg')
        self.sound_rebuild = pygame.mixer.Sound('./breakout/rebuild.ogg')
        self.sound_open = pygame.mixer.Sound('./breakout/open.ogg')
        self.sound_shrink = pygame.mixer.Sound('./breakout/shrink.ogg')
        self.sound_heal = pygame.mixer.Sound('./breakout/heal.ogg')
Ejemplo n.º 29
0
    def __init__(self):
        self.clock = pygame.time.Clock()
        self.fps = 60
        self.sprite_fps = 1
        self.set_framerate(1)

        self.surface = pygame.display.set_mode((400, 430), pygame.RESIZABLE)
        self.running = True

        self.test = spritesheet.load("cube.png", (34, 36))
        self.sprite = sprite.Sprite(self.test)

        self.backdrop = menu.BackDrop()

        self.main_loop()
Ejemplo n.º 30
0
def getSprite(sprite_name, r, c, images, inset, buffer):
    if sprite_name == 'wall_fountain_mid_red':
        return sprite.AnimatedSprite(screen, inset + c * size,
                                     r * size + buffer,
                                     fountain_mid_red_frames, 15)
    elif sprite_name == 'wall_fountain_basin_red':
        return sprite.AnimatedSprite(screen, inset + c * size,
                                     r * size + buffer, basin_red_frames, 15)
    elif sprite_name == 'spike_trap':
        return sprite.AnimatedSprite(screen, inset + c * size,
                                     r * size + buffer, spike_floor_frames, 20)
    elif sprite_name == '':
        return None
    else:
        return sprite.Sprite(screen, inset + c * size, r * size + buffer,
                             images[sprite_name])