Beispiel #1
0
    def load_data(self):
        """Loads pertinent data for the game"""
        # Map initialization
        self.map = TiledMap(r'../assets/stage_1.tmx')
        self.map_image = self.map.make_map()
        map_rect = self.map_image.get_rect()

        # Sprite initialization
        pacman_sprites = Spritesheet(r'../assets/sprites.png')
        self.open_mouth = pacman_sprites.get_sprite(0, 0, TILESIZE, TILESIZE)

        pellet_sprites = Spritesheet(r'../assets/small_pellet.png')
        self.pellet_sprite = pellet_sprites.get_sprite(0, 0, TILESIZE, TILESIZE)
Beispiel #2
0
class Title(pygame.sprite.Sprite):  # classe do título
    def __init__(self, filename, numberFrames, X, Y):
        super().__init__()
        self.filename = filename  # arquivo
        self.spritesheet = Spritesheet(filename)  # sprites do arquivo
        self.numberFrames = numberFrames  # quantidade de frames
        self.sprites = []  # vetor das sprites
        for i in range(0, numberFrames):  # adicionando todas as sprites
            self.sprites.append(
                self.spritesheet.get_sprite(0 + i * 312, 0, 312, 38))  #

        self.current_sprite = 0  # sprite atual
        self.image = self.sprites[self.current_sprite]  # imagem atual

        self.rect = self.image.get_rect(top=Y, left=X)  # posição da sprite

    def update(self):
        if self.alive == True:
            self.current_sprite += 1  # muda a sprite, indo para a seguinte
            if self.current_sprite >= len(
                    self.sprites
            ):  # se passar por todas as sprites, volta para a inicial
                self.current_sprite = 0  #

            self.image = self.sprites[
                self.current_sprite]  # atualiza a imagem atual

    def die(self):
        self.alive = False
Beispiel #3
0
class Explosion(pygame.sprite.Sprite):  # classe da explosão
    def __init__(self, filename, numberFrames, X, Y):
        super().__init__()
        self.filename = filename  # arquivo
        self.spritesheet = Spritesheet(filename)
        self.numberFrames = numberFrames  # número de frames
        self.sprites = []  # vetor das sprites
        for i in range(0, numberFrames):  # adicionando todas as sprites
            self.sprites.append(
                self.spritesheet.get_sprite(0 + i * 32, 0, 32, 32))  #

        self.current_sprite = 0  # sprite atual
        self.image = self.sprites[
            self.current_sprite]  # carrega a sprite atual, no caso a primeira

        self.rect = self.image.get_rect(top=Y, left=X)  # posição da explosão

    def update(self):
        self.current_sprite += 1  # muda a sprite atual, indo para a próxima
        if self.current_sprite >= len(self.sprites):  #
            self.current_sprite = 0  # se passar por todas as sprites, ela "morre"
            self.kill()  #

        self.image = self.sprites[
            self.current_sprite]  # muda a imagem para a sprite atual
Beispiel #4
0
         [["no"], ["no"], ["no"], ["no"], ["fo"]]]

states = [deepcopy(state)]

nrow = len(state)
ncol = len(state[0])

# Create the window
screen = pg.display.set_mode((ncol * 90, nrow * 90))
pg.display.set_caption('')

# Import images

images = Spritesheet("spritesheet.png")

test = pg.transform.scale(images.get_sprite(0 * 24, 57 * 24, 24, 24), (90, 90))
baba = pg.transform.scale(images.get_sprite(1 * 24, 0 * 24, 24, 24), (90, 90))
baba_text = pg.transform.scale(images.get_sprite(6 * 24, 27 * 24, 24, 24),
                               (90, 90))
flag = pg.transform.scale(images.get_sprite(6 * 24, 21 * 24, 24, 24), (90, 90))
flag_text = pg.transform.scale(images.get_sprite(1 * 24, 30 * 24, 24, 24),
                               (90, 90))
is_text = pg.transform.scale(images.get_sprite(18 * 24, 30 * 24, 24, 24),
                             (90, 90))
you_text = pg.transform.scale(images.get_sprite(20 * 24, 42 * 24, 24, 24),
                              (90, 90))
win_text = pg.transform.scale(images.get_sprite(17 * 24, 42 * 24, 24, 24),
                              (90, 90))
wall = pg.transform.scale(images.get_sprite(0 * 24, 57 * 24, 24, 24), (90, 90))
rock = pg.transform.scale(images.get_sprite(15 * 24, 21 * 24, 24, 24),
                          (90, 90))