Пример #1
0
 def __init__(self, player, background_image, name):
     self.name = name
     self.set_of_platforms = set()
     self.special_objects = set()
     self.static_objects = set()
     self.opponents = set()
     self.opponents_weapon = set()
     self.spikes = set()
     self.crystals = set()
     self.player = player
     self.player.reset_data()
     self.world_shift_x = 0
     self.world_shift_y = 0
     self.background_image = background_image
     self.image_w = self.player.screen_width
     self.image_h = self.player.screen_height
     self.info = False
     self.time = datetime.datetime.now()
     self.save_time = 0
     self.change_time = False
     self.max_crystal = 0
     screen.blit(
         pygame.transform.scale(self.background_image,
                                (self.image_w, self.image_h)), (0, 0))
     self.remove_opponent = []
     self.wp = []
     self.so = []
     self.op = []
     self.rm = []
     self.sp = []
     self.cr = []
Пример #2
0
 def animate_character(self):
     if self.is_walking == True:
         self.steps += 1
         if self.dir == 'north':
             self.animation(0)
         elif self.dir == 'south':
             self.animation(180)
         elif self.dir == 'east':
             self.animation(270)
         elif self.dir == 'west':
             self.animation(90)
     else:
         if self.dir == 'south':
             self.n_img = pygame.transform.rotate(self.image, 180)
         elif self.dir == 'east':
             self.n_img = pygame.transform.rotate(self.image, 270)
         elif self.dir == 'west':
             self.n_img = pygame.transform.rotate(self.image, 90)
         else:
             self.n_img = self.image
         screen.blit(self.n_img, (self.rect.x, self.rect.y))
Пример #3
0
def run():
    pygame.init()  # choose a better size later
    clock = pygame.time.Clock()
    bg = pygame.image.load('background.png')

    player = Player()
    parse_level(Levels[1])
    running = True
    while running:
        clock.tick(60)
        for e in pygame.event.get():
            if e.type == pygame.QUIT:
                running = False
        # Move the player if an arrow key is pressed
        player.update_position()
        # Draw the scene
        screen.fill((0, 0, 0))
        for wall in walls:
            pygame.draw.rect(screen, (255, 255, 255), wall.rect)
            screen.blit(wall.img, (wall.rect.x, wall.rect.y))
        for item in items:
            pygame.draw.rect(screen, item.color, item.rect)
        player.player_update()
        pygame.display.flip()
Пример #4
0
 def animation(self, rotation):
     if self.steps > len(self.animg) - 1:
         self.steps = 0
     self.step_ani = pygame.transform.rotate(self.animg[self.steps], rotation)
     screen.blit(self.step_ani, (self.rect.x, self.rect.y))
Пример #5
0
    def draw(self, surface):
        surface.blit(
            pygame.transform.scale(
                self.background_image,
                (self.player.screen_width, self.player.screen_height)), (0, 0))
        self.button_back.draw(surface)
        self.button_level_1.draw(surface)
        surface.blit(
            pygame.transform.scale(image_stars[int(self.list_line[0 * 4 + 1])],
                                   (int(self.player.screen_height / 6),
                                    int(self.player.screen_height / 10))),
            (self.player.screen_width * 0.22,
             self.player.screen_height * 0.52))

        if self.list_line[0 * 4 + 3] == '0:00':
            screen.blit(
                pygame.transform.scale(image_lock,
                                       (self.player.screen_height // 6,
                                        self.player.screen_height // 6)),
                (self.player.screen_width * 0.34,
                 self.player.screen_height * 0.4))
        else:
            self.button_level_2.draw(surface)
            surface.blit(
                pygame.transform.scale(
                    image_stars[int(self.list_line[1 * 4 + 1])],
                    (int(self.player.screen_height / 6),
                     int(self.player.screen_height / 10))),
                (self.player.screen_width * 0.34,
                 self.player.screen_height * 0.52))

        if self.list_line[1 * 4 + 3] == '0:00':
            screen.blit(
                pygame.transform.scale(image_lock,
                                       (self.player.screen_height // 6,
                                        self.player.screen_height // 6)),
                (self.player.screen_width * 0.46,
                 self.player.screen_height * 0.4))
        else:
            self.button_level_3.draw(surface)
            surface.blit(
                pygame.transform.scale(
                    image_stars[int(self.list_line[2 * 4 + 1])],
                    (int(self.player.screen_height / 6),
                     int(self.player.screen_height / 10))),
                (self.player.screen_width * 0.46,
                 self.player.screen_height * 0.52))

        if self.list_line[2 * 4 + 3] == '0:00':
            screen.blit(
                pygame.transform.scale(image_lock,
                                       (self.player.screen_height // 6,
                                        self.player.screen_height // 6)),
                (self.player.screen_width * 0.58,
                 self.player.screen_height * 0.4))
        else:
            self.button_level_4.draw(surface)
            surface.blit(
                pygame.transform.scale(
                    image_stars[int(self.list_line[3 * 4 + 1])],
                    (int(self.player.screen_height / 6),
                     int(self.player.screen_height / 10))),
                (self.player.screen_width * 0.58,
                 self.player.screen_height * 0.52))

        if self.list_line[3 * 4 + 3] == '0:00':
            screen.blit(
                pygame.transform.scale(image_lock,
                                       (self.player.screen_height // 6,
                                        self.player.screen_height // 6)),
                (self.player.screen_width * 0.70,
                 self.player.screen_height * 0.4))
        else:
            self.button_level_5.draw(surface)
            surface.blit(
                pygame.transform.scale(
                    image_stars[int(self.list_line[4 * 4 + 1])],
                    (int(self.player.screen_height / 6),
                     int(self.player.screen_height / 10))),
                (self.player.screen_width * 0.70,
                 self.player.screen_height * 0.52))
Пример #6
0
    def __init__(self, player, background_image, name):
        super().__init__(player, background_image, name)
        self.button_back = Button(player, 'Back', image_back,
                                  self.player.screen_width * 0.448,
                                  self.player.screen_height * 5.2 // 7,
                                  self.player.screen_height,
                                  self.player.screen_height, 5, 5)
        self.button_level_1 = Button(player, 'Level_1', image_level_1,
                                     self.player.screen_width * 0.22,
                                     self.player.screen_height * 0.4,
                                     self.player.screen_height,
                                     self.player.screen_height, 6, 6)
        self._read_stars()

        if self.list_line[0 * 4 + 3] == '0:00':
            screen.blit(
                pygame.transform.scale(image_lock,
                                       (self.player.screen_height // 6,
                                        self.player.screen_height // 6)),
                (self.player.screen_width * 0.34,
                 self.player.screen_height * 0.4))
        else:
            self.button_level_2 = Button(player, 'Level_2', image_level_2,
                                         self.player.screen_width * 0.34,
                                         self.player.screen_height * 0.4,
                                         self.player.screen_height,
                                         self.player.screen_height, 6, 6)

        if self.list_line[1 * 4 + 3] == '0:00':
            screen.blit(
                pygame.transform.scale(image_lock,
                                       (self.player.screen_height // 6,
                                        self.player.screen_height // 6)),
                (self.player.screen_width * 0.46,
                 self.player.screen_height * 0.4))
        else:
            self.button_level_3 = Button(player, 'Level_3', image_level_3,
                                         self.player.screen_width * 0.46,
                                         self.player.screen_height * 0.4,
                                         self.player.screen_height,
                                         self.player.screen_height, 6, 6)

        if self.list_line[2 * 4 + 3] == '0:00':
            screen.blit(
                pygame.transform.scale(image_lock,
                                       (self.player.screen_height // 6,
                                        self.player.screen_height // 6)),
                (self.player.screen_width * 0.58,
                 self.player.screen_height * 0.4))
        else:
            self.button_level_4 = Button(player, 'Level_4', image_level_4,
                                         self.player.screen_width * 0.58,
                                         self.player.screen_height * 0.4,
                                         self.player.screen_height,
                                         self.player.screen_height, 6, 6)

        if self.list_line[3 * 4 + 3] == '0:00':
            screen.blit(
                pygame.transform.scale(image_lock,
                                       (self.player.screen_height // 6,
                                        self.player.screen_height // 6)),
                (self.player.screen_width * 0.70,
                 self.player.screen_height * 0.4))
        else:
            self.button_level_5 = Button(player, 'Level_5', image_level_5,
                                         self.player.screen_width * 0.70,
                                         self.player.screen_height * 0.4,
                                         self.player.screen_height,
                                         self.player.screen_height, 6, 6)

        self.info = False