Ejemplo n.º 1
0
    def __init__(self, ai_settings, screen):
        """Initialize the alien, and set its starting position."""
        super(Alien, self).__init__()
        self.screen = screen
        self.ai_settings = ai_settings
        ss = Spritesheet('images/space_invaders_spritesheet.png')
        #
        # # Load the ship image, and get its rect.
        # self.image = ss.image_at((0, 192, 64, 64))

        # Load the alien image, and set its rect attribute.
        self.images = []
        self.images.append(ss.image_at((65, 512, 64, 64)))
        self.images.append(ss.image_at((0, 576, 64, 64)))
        # self.images.append(load_image('images/alien1_down.bmp'))
        self.index = 0
        self.image = self.images[self.index]
        # self.image2 = pygame.image.load('images/alien2_up.bmp')
        # self.rect = self.image2.get_rect()
        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

        # Store the alien's exact position.
        self.x = float(self.rect.x)
Ejemplo n.º 2
0
    def load_data(self):
        """Let's create more sensible data structures for each group"""
        root_folder = path.dirname(__file__)
        img_folder = path.join(root_folder, "data", "img")
        music_folder = path.join(root_folder, "data", "music")
        fx_folder = path.join(root_folder, "data", "fx")

        sprites = Spritesheet(path.join(img_folder, "spritesheet_x2.png"))

        # IMAGES & SOUND

        self.images = {}
        self.fx = {}

        for item in ITEMS:
            sprite_at = ITEMS[item]['SPRITE']
            self.images[item] = sprites.image_at(sprite_at[0], sprite_at[1],
                                                 TILESIZE, 2, KEY_COLOR)
            fx = pygame.mixer.Sound(
                path.join(fx_folder, ITEMS[item]['FX_PICKUP']))
            fx.set_volume(0.1)
            self.fx[item] = fx

        for mob in MOBS:
            sprite_at = MOBS[mob]['SPRITE']
            self.images[mob] = sprites.image_at(sprite_at[0], sprite_at[1],
                                                TILESIZE, 2, KEY_COLOR)
            fx = pygame.mixer.Sound(path.join(fx_folder,
                                              MOBS[mob]['FX_DEATH']))
            fx.set_volume(0.1)
            self.fx[mob] = fx

        for nest in NESTS:
            sprite_at = NESTS[nest]['SPRITE']
            self.images[nest] = sprites.image_at(sprite_at[0], sprite_at[1],
                                                 TILESIZE, 2, KEY_COLOR)
            fx = pygame.mixer.Sound(
                path.join(fx_folder, NESTS[nest]['FX_DEATH']))
            fx.set_volume(0.1)
            self.fx[nest] = fx

        for weapon in WEAPONS:
            fx = pygame.mixer.Sound(path.join(fx_folder,
                                              WEAPONS[weapon]['FX']))
            fx.set_volume(0.1)
            self.fx[weapon] = fx

        self.tiles = {}
        for wall in WALLS:
            for orientation in ['TOP', 'FRONT']:
                sprite_at = WALLS[wall][orientation]
                self.tiles[f"{wall}_{orientation}"] = sprites.image_at(
                    sprite_at[0], sprite_at[1], TILESIZE, 2, KEY_COLOR)

        # MUSIC
        pygame.mixer.music.load(path.join(music_folder, BG_MUSIC))
Ejemplo n.º 3
0
 def _init_pictures(self):
     """Load every picture in a variable."""
     _ss = Spritesheet(self.TILES)
     self.wall = _ss.image_at(self.WALL)
     self.floor = _ss.image_at(self.FLOOR)
     self.exit = _ss.image_at(self.EXIT)
     self.macgyver = self._resize_pic(self.MACGYVER)
     self.guardian = self._resize_pic(self.GUARDIAN)
     self.needle = self._resize_pic(self.NEEDLE)
     self.ether = self._resize_pic(self.ETHER)
     self.tube = self._resize_pic(self.TUBE)
Ejemplo n.º 4
0
class Alien_2(Sprite):
    #a class to represent a single alien in the fleet

    def __init__(self, ai_settings, screen):
        #initialize the alien and set its starting position
        super(Alien_2, self).__init__()
        self.screen = screen
        self.ai_settings = ai_settings
        self.image = Spritesheet('images/spritesheet.png')
        self.images = []
        self.index = 0
        self.images.append(
            self.image.image_at((64, 0, 64, 64), colorkey=(0, 0, 0, 1)))
        self.images.append(
            self.image.image_at((128, 0, 64, 64), colorkey=(0, 0, 0, 1)))
        self.score = 20

        self.image = self.images[self.index]

        #load the alien image and set its rect attribute
        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

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

    def blitme(self):
        self.screen.blit(self.image, self.rect)

    def check_edges(self):
        #return true if alien is at edge of screen
        screen_rect = self.screen.get_rect()
        if self.rect.right >= screen_rect.right:
            return True
        elif self.rect.left <= 0:
            return True

    def update(self):
        #move the alien right or left
        self.x += (self.ai_settings.alien_speed_factor *
                   self.ai_settings.fleet_direction)
        self.rect.x = self.x

        self.index += .02
        if self.index >= len(self.images):
            self.index = 0
        self.image = self.images[math.floor(self.index)]
Ejemplo n.º 5
0
    def __init__(self, screen):  
        grass = Spritesheet('tiles/grass/grass.bmp')
        water = Spritesheet('tiles/water/water.bmp')

        self.grass = grass.image_at((0, 0, 40, 40))
        self.water = water.image_at((0, 0, 40, 40))

        self.tile = screen
        self.screen = screen
        
        self.mapdata = [line.strip() for line in open("maps/map0.txt", "r")]

        self.pos_x = 0
        self.pos_y = 0
        self.location = (self.pos_x, self.pos_y)
Ejemplo n.º 6
0
 def __init__(self, screen):  
     ss = Spritesheet('spritesheets/cursor.bmp')
     self.screen = screen
     self.pos_x = 0
     self.pos_y = 0
     self.location = (self.pos_x,self.pos_y)
     self.image = ss.image_at((0, 0, 40, 40))
Ejemplo n.º 7
0
    def load_data(self):
        root_folder = path.dirname(__file__)

        sprites = Spritesheet(
            path.join(root_folder, "data", "img", "spritesheet.png"))

        self.player_img = sprites.image_at(
            PLAYER_SPRITE_AT[0], PLAYER_SPRITE_AT[1], TILESIZE, 1, KEY)

        self.bee_img = sprites.image_at(
            BEE_SPRITE_AT[0], BEE_SPRITE_AT[1], TILESIZE, 1, KEY)

        self.top_wall_img = sprites.image_at(
            TOP_WALL_SPRITE_AT[0], TOP_WALL_SPRITE_AT[1], TILESIZE, 1, KEY)
        self.front_wall_img = sprites.image_at(
            FRONT_WALL_SPRITE_AT[0], FRONT_WALL_SPRITE_AT[1], TILESIZE, 1, KEY)
Ejemplo n.º 8
0
    def __init__(self, settings, screen, button):
        self.screen = screen
        self.screen_rect = screen.get_rect()
        self.theSettings = Settings
        self.button = button

        ss = Spritesheet('images/space_invaders_spritesheet.png')

        # Load in alien images
        self.image = ss.image_at((65, 512, 64, 64))
        self.image2 = ss.image_at((65, 704, 64, 64))
        self.image3 = ss.image_at((65, 896, 64, 64))
        self.image4 = ss.image_at((65, 0, 64, 64))
        self.rect = self.image.get_rect()

        self.text_color = (30, 30, 30)
        self.font = pygame.font.SysFont(None, 48)

        screen = pygame.display.set_mode(
            (settings.screen_width, settings.screen_height))
        screen.fill(settings.bg_color)
Ejemplo n.º 9
0
    def load_data(self):
        """Loading item images"""
        root_folder = path.dirname(__file__)
        img_folder = path.join(root_folder, "data", "img")

        sprites = Spritesheet(path.join(img_folder, "spritesheet_x2.png"))

        # IMAGES
        self.item_images = {}
        for item_name in ITEMS:
            sprite_at = ITEMS[item_name]['SPRITE_AT']
            self.item_images[item_name] = sprites.image_at(
                sprite_at[0], sprite_at[1], TILESIZE, 2, KEY_COLOR)

        self.player_img = sprites.image_at(PLAYER_SPRITE_AT[0],
                                           PLAYER_SPRITE_AT[1], TILESIZE, 2,
                                           KEY_COLOR)

        self.bee_img = sprites.image_at(BEE_SPRITE_AT[0], BEE_SPRITE_AT[1],
                                        TILESIZE, 2, KEY_COLOR)

        self.bee_nest_img = sprites.image_at(BEE_NEST_SPRITE_AT[0],
                                             BEE_NEST_SPRITE_AT[1], TILESIZE,
                                             2, KEY_COLOR)

        self.top_wall_img = sprites.image_at(TOP_WALL_SPRITE_AT[0],
                                             TOP_WALL_SPRITE_AT[1], TILESIZE,
                                             2, KEY_COLOR)

        self.front_wall_img = sprites.image_at(FRONT_WALL_SPRITE_AT[0],
                                               FRONT_WALL_SPRITE_AT[1],
                                               TILESIZE, 2, KEY_COLOR)
Ejemplo n.º 10
0
class Tilemap(object):
    def __init__(self, levelfile, spritesheetfile):
        self.Level = Level()
        self.Level.load_file(levelfile)
        self.Spritesheet = Spritesheet(spritesheetfile)

    def get_tilesize(self):
        return self.Level.tilesize

    def get_tile(self, x, y):
        t = self.Level.get_tuple(x, y, "tile")
        if t != None and t[0] != -1:
            return self.Spritesheet.image_at(t)
        return None
Ejemplo n.º 11
0
    def load_data(self):
        """Lets add an image for bee's nests"""
        root_folder = path.dirname(__file__)

        sprites = Spritesheet(
            path.join(root_folder, "data", "img", "spritesheet_x2.png"))

        self.player_img = sprites.image_at(PLAYER_SPRITE_AT[0],
                                           PLAYER_SPRITE_AT[1], TILESIZE, 2,
                                           KEY)

        self.bee_img = sprites.image_at(BEE_SPRITE_AT[0], BEE_SPRITE_AT[1],
                                        TILESIZE, 2, KEY)

        self.bee_nest_img = sprites.image_at(BEE_NEST_SPRITE_AT[0],
                                             BEE_NEST_SPRITE_AT[1], TILESIZE,
                                             2, KEY)

        self.top_wall_img = sprites.image_at(TOP_WALL_SPRITE_AT[0],
                                             TOP_WALL_SPRITE_AT[1], TILESIZE,
                                             2, KEY)
        self.front_wall_img = sprites.image_at(FRONT_WALL_SPRITE_AT[0],
                                               FRONT_WALL_SPRITE_AT[1],
                                               TILESIZE, 2, KEY)
Ejemplo n.º 12
0
    def load_data(self):
        """Adding music & fx"""
        root_folder = path.dirname(__file__)
        img_folder = path.join(root_folder, "data", "img")
        music_folder = path.join(root_folder, "data", "music")
        fx_folder = path.join(root_folder, "data", "fx")

        sprites = Spritesheet(path.join(img_folder, "spritesheet_x2.png"))

        # IMAGES

        self.item_images = {}
        for item_name in ITEMS:
            sprite_at = ITEMS[item_name]['SPRITE_AT']
            self.item_images[item_name] = sprites.image_at(
                sprite_at[0], sprite_at[1], TILESIZE, 2, KEY_COLOR)

        self.player_img = sprites.image_at(PLAYER_SPRITE_AT[0],
                                           PLAYER_SPRITE_AT[1], TILESIZE, 2,
                                           KEY_COLOR)

        self.bee_img = sprites.image_at(BEE_SPRITE_AT[0], BEE_SPRITE_AT[1],
                                        TILESIZE, 2, KEY_COLOR)

        self.bee_nest_img = sprites.image_at(BEE_NEST_SPRITE_AT[0],
                                             BEE_NEST_SPRITE_AT[1], TILESIZE,
                                             2, KEY_COLOR)

        self.top_wall_img = sprites.image_at(TOP_WALL_SPRITE_AT[0],
                                             TOP_WALL_SPRITE_AT[1], TILESIZE,
                                             2, KEY_COLOR)

        self.front_wall_img = sprites.image_at(FRONT_WALL_SPRITE_AT[0],
                                               FRONT_WALL_SPRITE_AT[1],
                                               TILESIZE, 2, KEY_COLOR)

        # SOUND
        # Using arrays to add some variance
        pygame.mixer.music.load(path.join(music_folder, BG_MUSIC))
        self.basic_gun_fx = []
        for fx in BASIC_GUN_FX:
            pewpew = pygame.mixer.Sound(path.join(fx_folder, fx))
            pewpew.set_volume(0.1)
            self.basic_gun_fx.append(pewpew)
        self.critter_death_fx = []
        for fx in CRITTER_DEAD_FX:
            self.critter_death_fx.append(
                pygame.mixer.Sound(path.join(fx_folder, fx)))
        self.item_fx = {}
        for fx in ITEMS:
            self.item_fx[fx] = pygame.mixer.Sound(
                path.join(fx_folder, ITEMS[fx]['FX']))
Ejemplo n.º 13
0
class Tileset(object):
    def __init__(self, tileset, assetdir):
        self._imageCache = {}
        self.tileset = tileset
        self.tile_count = self.tileset.tile_count
        self.usecache = True

        fp = os.path.join(assetdir, tileset.image.source)
        self._spriteSheet = Spritesheet(fp)

    def image_at_index(self, index):
        rawIndex = index - 1
        # assumes using tileset w/h
        w = self.tileset.max_tile_size.width
        h = self.tileset.max_tile_size.height
        y = math.floor(rawIndex / self.tileset.columns) * h
        x = (rawIndex % self.tileset.columns) * w
        return self.image_at([x, y, w, h])

    def image_at(self, rectangle, colorkey=None):
        return self._spriteSheet.image_at(rectangle)
Ejemplo n.º 14
0
    def __init__(self, ai_settings, screen):
        """Initialize the ship, and set its starting position."""
        super(Ship, self).__init__()
        self.screen = screen
        self.ai_settings = ai_settings

        ss = Spritesheet('images/space_invaders_spritesheet.png')

        # Load the ship image, and get its rect.
        self.image = ss.image_at((0, 192, 64, 64))
        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.centerx = self.screen_rect.centerx
        self.rect.bottom = self.screen_rect.bottom

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

        # Movement flags.
        self.moving_right = False
        self.moving_left = False
Ejemplo n.º 15
0
class Unit(object):
    def __init__( self, screen, unitname, spritesheet ):

        self.spritesheet = spritesheet
        self.unit_ss = Spritesheet( spritesheet )
        self.unit_sprite = (0, 0, 40, 40)
        self.unit_image = self.unit_ss.image_at( self.unit_sprite )
        
        self.move_tile_ss = Spritesheet('spritesheets/move_tile.bmp')
        self.move_tile_image = self.move_tile_ss.image_at((0, 0, 40, 40))
        
        self.screen = screen
        self.unitname = unitname
        
        self.frame = 0
  
        self.pos_x = 0
        self.pos_y = 0
        self.distance_x = 0
        self.distance_y = 0
        self.move_x = 0
        self.move_y = 0
        self.speed = 10
        self.unit_location = (self.pos_x, self.pos_y)
        
        self.state = 'idle'
        self.pressed_z = 0


    def get_data( self, unit, data ):
        self.i = 0
        self.char = ''
        self.value = 0
        
        self.path = "units/" + unit + "/" + unit + ".txt"
        self.tiledata = [ line.strip() for line in open( self.path, "r") ]

        if data == 'move_range':
            self.char = self.tiledata[1][13]
            self.value = int( self.char )

        return self.value


    def _move_diamond( self ):

        self.coordinates = []
        self.radius = self.get_data( self.unitname, 'move_range' )

        self.y = 0
        self.x = 0
        self.x_limit = 0

        self.x0 = self.pos_x
        self.y0 = self.pos_y + self.radius*40

        while self.y <= self.radius*2:
            while self.x <= self.x_limit:
                self.coordinates.append( ( self.x0 - self.x*40, self.y0 - self.y*40 ) )
                if self.y >= 0:
                    self.coordinates.append( ( self.x0 + self.x*40, self.y0 - self.y*40 ) )
                self.x += 1
            self.x = 0
            if self.y < self.radius:
                self.x_limit += 1
            elif self.y >= self.radius:
                self.x_limit -= 1
            self.y += 1

        return self.coordinates
        self.coordinates = []

        
    def update( self, cursor_x, cursor_y ):
        self.unit_ss = Spritesheet( self.spritesheet )
        
        if self.state == 'idle':
            self._animate('idle')
            if self.pressed_z and self.pos_x == cursor_x and self.pos_y == cursor_y:
                self.state = 'selected'
                self.pressed_z = 0
        elif self.state == 'selected':
            self._animate('selected')
            if self.pressed_z:
                self.state = 'moving'
        elif self.state == 'moving':
            self._animate('moving')
            self._move( cursor_x, cursor_y )

        self.pressed_z = 0
        self.unit_location = (self.pos_x,self.pos_y)
        self.unit_image = self.unit_ss.image_at( self.unit_sprite )


    def draw( self ):

        self.i = 0
        self.coordinates = self._move_diamond()
        
        while self.state == 'selected' and self.i < len(self.coordinates):
            self.screen.blit(self.move_tile_image, self.coordinates[self.i])
            self.i += 1
            
        self.screen.blit(self.unit_image, self.unit_location)
        
        
    def action( self ):
        self.pressed_z = 1

       
    def _move( self, cursor_x, cursor_y ):
        self.distance_x = cursor_x - self.pos_x
        self.distance_y = cursor_y - self.pos_y

        if self.distance_x == 0 and self.distance_y == 0:
            self.state = 'idle'

        if self.distance_x != 0:
            if self.distance_x > 0:
                self.pos_x += self.speed
            elif self.distance_x < 0:
                self.pos_x -= self.speed

        if self.distance_y != 0:
            if self.distance_y > 0:
                self.pos_y += self.speed
            elif self.distance_y < 0:
                self.pos_y -= self.speed


    def _animate( self, state ):
           
        if state == 'idle':
            if self.frame == 0:
                self.frame += 1
            else:
                self.frame = 0

        if state == 'selected' or state == 'moving':
            if self.frame < 5:
                self.frame += 1
            else:
                self.frame = 2

        self.unit_sprite = ( self.frame*40, 0, 40, 40 )
Ejemplo n.º 16
0
 def test_init(self):
     ss = Spritesheet(self.TILES)
     floor = ss.image_at(self.FLOOR, -1)
Ejemplo n.º 17
0
    def load_img(self):
        sprites = Spritesheet(path.join(self.img_folder, "spritesheet.png"))

        # Items

        self.healthpack_img = sprites.image_at(
            ITEMS['HEALTHPACK']['IMG'][0],
            ITEMS['HEALTHPACK']['IMG'][1],
            TILESIZE,
            2,
            KEY_COLOR
        )

        self.speedup_img = sprites.image_at(
            ITEMS['SPEEDUP']['IMG'][0],
            ITEMS['SPEEDUP']['IMG'][1],
            TILESIZE,
            2,
            KEY_COLOR
        )

        # Mobs
        name = 'PLAYER'
        self.player_img = sprites.image_at(
            MOBS[name]['IMG'][0],
            MOBS[name]['IMG'][1],
            TILESIZE,
            2,
            KEY_COLOR
        )

        name = 'BEE'
        self.bee_img = sprites.image_at(
            MOBS[name]['IMG'][0],
            MOBS[name]['IMG'][1],
            TILESIZE,
            2,
            KEY_COLOR
        )

        name = 'BEE_NEST'
        self.bee_nest_img = sprites.image_at(
            MOBS[name]['IMG'][0],
            MOBS[name]['IMG'][1],
            TILESIZE,
            2,
            KEY_COLOR
        )

        name = 'TOWER'
        self.tower_img = sprites.image_at(
            MOBS[name]['IMG'][0],
            MOBS[name]['IMG'][1],
            TILESIZE,
            2,
            KEY_COLOR
        )

        name = 'SPIDER'
        self.spider_img = sprites.image_at(
            MOBS[name]['IMG'][0],
            MOBS[name]['IMG'][1],
            TILESIZE,
            2,
            KEY_COLOR
        )

        # Weapons

        self.gun_img = pygame.image.load(path.join(self.img_folder, 
                                        WEAPONS['GUN']['IMG'])).convert_alpha()

        self.machinegun_img = pygame.image.load(path.join(self.img_folder, 
                                        WEAPONS['MACHINEGUN']['IMG'])).convert_alpha()
        
        self.shotgun_img = pygame.image.load(path.join(self.img_folder, 
                                        WEAPONS['SHOTGUN']['IMG'])).convert_alpha()

        self.deagle_img = pygame.image.load(path.join(self.img_folder, 
                                        WEAPONS['DEAGLE']['IMG'])).convert_alpha()

        self.assault_img = pygame.image.load(path.join(self.img_folder, 
                                        WEAPONS['ASSAULT']['IMG'])).convert_alpha()

        # Menu

        self.main_menu_img = pygame.image.load(path.join(self.img_folder, 
                                        MENU_IMG)).convert()

        self.game_over_img = pygame.image.load(path.join(self.img_folder, 
                                        GAME_OVER_IMG)).convert()
Ejemplo n.º 18
0
    def __init__(self, width, height):
        """
        Configure display-wide settings and one-time
        setup work here.
        """
        BaseDisplay.__init__(self, width, height)

        # There are other fonts available, but they are not
        # the same on every computer.  You can read more about
        # fonts at http://www.pygame.org/docs/ref/font.html
        self.font_size = 12
        self.font = pygame.font.SysFont("Courier New",self.font_size)

        # Colors are specified as a triple of integers from 0 to 255.
        # The values are how much red, green, and blue to use in the color.
        # Check out http://www.colorpicker.com/ if you want to try out
        # colors and find their RGB values.   Be sure to use the `R`, `G`,
        # `B` values at the bottom, not the H, S, B values at the top.
        self.player_color     = (0, 255, 0)
        self.opponent_color   = (255, 0, 0)
        self.missile_color    = (0, 255, 255)
        self.npc_color        = (255, 255, 0)
        self.wall_color       = (255, 255, 255)
        self.text_color       = (255, 255, 255)
        self.background_color = (0, 0, 0)
        buttonF = 'code camp buttons.png'
        sheet = Spritesheet(buttonF)

        
        self.tourneyB = sheet.image_at(pygame.Rect(5,5,200,97),(255,255,255))
        self.singleB = sheet.image_at(pygame.Rect(5,134,200,97),(255,255,255))
        self.dualB = sheet.image_at(pygame.Rect(5,264,200,97),(255,255,255))
        self.demoB = sheet.image_at(pygame.Rect(5,394,200,97),(255,255,255))

        # self.logo = pygame.image.load("display\imgs\game pngs '\code camp logo-01")


        self.filenames = ["code camp kirby-01.png", "code camp kirby-02.png", "code camp link-01-01.png", "code camp link-02-01.png", "code camp mario-01.png","code camp mario-04.png", "code camp mario-02.png","code camp mario-03.png"]
        self.imgs = []

        self.filename2 = ["code camp castle small.png", "forest background code camp small.png", "haunted house code camp small.png"]
        self.arena = []

        self.filenames2 = ["code camp logo-01.png"]
        self.logo = []


        for f in self.filenames:
            f = os.path.join('display','imgs',f)
            self.imgs.append(pygame.image.load(f))

        for a in self.filename2:
            a = os.path.join("display","imgs",a)
            self.arena.append(pygame.image.load(a))


        for l in self.filenames2:
            l = os.path.join("display", "imgs", l)
            self.logo.append(pygame.image.load(l))


        # playerStates {'walk':['walk','walkdown','walkleft','walkup','walkright'],'throw':['throw','throwdown','throwleft','throwup','throwright'], 'death':['death'],'victory':['victory'],'hp':['victory']}

        # filename = os.path.join('display', 'imgs', 'Link Sprites with coordinates.png')
        # self.image = pygame.image.load(filename)
        # self.rect = self.obj_to_rect(obj)
        # self.image = pygame.image.load(filename)
        # ss = Spritesheet(filename)
        # for s in playerStates:
            # if len(s) == 1:

            # for d in s:
                # if len()
                

        # playerStates {'walk':['walkdown','walkleft','walkup','walkright'],'throw':['throwdown','throwleft','throwup','throwright'], 'death':['death'],'victory':['victory'],'hp':['victory']}

        
        # self.image = pygame.image.load(filename)
        # self.rect = self.obj_to_rect(obj)
        # self.image = pygame.image.load(filename)
        

        
       
        return
Ejemplo n.º 19
0
    events = pygame.event.get()
    for event in events:
        if event.type == pygame.QUIT:
            is_running = False
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_ESCAPE:
                is_running = False

    screen.blit(background, (0, 0))

    for c, row in enumerate(level1_map):
        for r, item_code in enumerate(row):
            if item_code != -1:
                rect = pygame.Rect(start_x + r * spritesheet.tile_width,
                                   start_x + c * spritesheet.tile_height,
                                   spritesheet.tile_width,
                                   spritesheet.tile_height)

                tile_col = item_code % 20
                tile_row = item_code // 20
                tile_img = spritesheet.image_at(tile_col=tile_col,
                                                tile_row=tile_row)
                screen.blit(tile_img, rect.topleft)

    player.update(events)
    player.draw(screen)
    draw_text(f"{player}", 1, 1)
    pygame.display.flip()
    clock.tick(60)

pygame.quit()