Exemple #1
0
 def update(self):
     if self.type == 0:
         self.image = characters.load_image('cactus.jpg', -1)
     else:
         self.image = characters.load_image('bird.jpg', -1)
     if self.game.score >= 100:
         self.pos -= 10
     else:
         self.pos -= int(math.sqrt(self.game.score))
     if self.type == 0:
         self.image = pygame.transform.scale(
             self.image,
             ((int(self.game.ht / 15), int(1.5 * self.game.ht / 10))))
     else:
         self.image = pygame.transform.scale(
             self.image,
             ((int(self.game.ht / 10), int(1.5 * self.game.ht / 20))))
     self.rect = self.image.get_rect()
     if self.type == 0:
         self.rect.y = int(self.game.ht * 8 / 10)
     elif self.type == 1:
         self.rect.y = int(self.game.ht * 8 / 10)
     else:
         self.rect.y = int(self.game.ht * 7 / 10)
     self.rect.x = int(self.pos / 1000 * self.game.wd)
     if self.pos <= 0:
         self.pos = 1000
         self.type = random.randint(0, 2)
Exemple #2
0
 def __init__(self):
     pygame.init()
     pygame.mixer.init()
     self.screen = pygame.display.set_mode((WIDTH, HEIGHT), pygame.NOFRAME)
     pygame.display.set_caption('Thunderstorm')
     pygame.display.set_icon(characters.load_image('game-icon.png', -1))
     self.clock = pygame.time.Clock()
     file = open('data/intro.txt', 'rt')
     data = file.read().split('\n')
     file.close()
     for i in range(len(data)):
         text = pygame.font.Font('data/joker.ttf',
                                 30).render(data[i], 1, (255, 255, 255))
         self.screen.blit(text, (5, i * 25 + 5))
     pygame.display.flip()
     watching = True
     while watching:
         for event in pygame.event.get():
             if event.type in [pygame.KEYUP, pygame.MOUSEBUTTONDOWN]:
                 watching = False
         self.clock.tick(120)
     pygame.mixer.music.load('data/theme-2.wav')
     self.cursor_active = pygame.mouse.get_focused()
     self.mouse_pos = pygame.mouse.get_pos()
     self.cursor_active = True
     pygame.mouse.set_visible(False)
     self.running = True
Exemple #3
0
 def __init__(self, x, y, w, h):
     pygame.sprite.Sprite.__init__(self)
     self.image = characters.load_image('platform.png', -1)
     self.image = pygame.transform.scale(self.image, ((w, h)))
     self.rect = self.image.get_rect()
     self.rect.x = x
     self.rect.y = y
Exemple #4
0
    def choose_hat(self):
        hat_chosen = False
        hat = 0
        hats = list(characters.CLASSES.keys())
        while not hat_chosen:
            for event in pygame.event.get():
                if event.type == pygame.MOUSEMOTION:
                    self.cursor_active = pygame.mouse.get_focused()
                    if self.cursor_active:
                        self.mouse_pos = event.pos
                if event.type == pygame.KEYDOWN:
                    if event.key == 276:
                        hat -= 1
                    if event.key == 275:
                        hat += 1
                    else:
                        hat_chosen = True
                if event.type == pygame.MOUSEBUTTONDOWN:
                    if event.pos[0] < WIDTH // 2:
                        hat -= 1
                    else:
                        hat += 1
            hat = hat % len(hats)

            self.screen.fill((0, 128, 0))

            text = pygame.font.Font('data/joker.ttf',
                                    30).render('CHOOSE YOUR HAT!', 1,
                                               (255, 255, 255))
            self.screen.blit(text, (200, 5))

            text = pygame.font.Font('data/joker.ttf',
                                    30).render(hats[hat].upper(), 1,
                                               (255, 255, 255))
            self.screen.blit(text, (220, 100))

            hat_image = characters.load_image(f'{hats[hat]}.png', -1)
            hat_image = pygame.transform.scale(hat_image, (200, 200))
            self.screen.blit(hat_image, (WIDTH // 2 - 100, HEIGHT // 2 - 100))

            if self.cursor_active:
                cursor = characters.load_image('cursor.png', -1)
                self.screen.blit(cursor, self.mouse_pos)

            pygame.display.flip()
            self.clock.tick(60)
        self.clac = hats[hat]
Exemple #5
0
 def __init__(self, game):
     pygame.sprite.Sprite.__init__(self)
     self.game = game
     self.type = 0
     self.image = characters.load_image('cactus.jpg', -1)
     self.rect = self.image.get_rect()
     self.rect.x = self.game.wd
     self.pos = 1000
     self.rect.y = int(self.game.ht * 8 / 10)
Exemple #6
0
 def __init__(self):
     pygame.init()
     pygame.mixer.init()
     self.wd, self.ht = WIDTH, HEIGHT
     self.screen = pygame.display.set_mode((self.wd, self.ht),
                                           pygame.RESIZABLE)
     pygame.display.set_caption('GOGOL DINOR')
     pygame.display.set_icon(characters.load_image('dino.jpg', -1))
     self.clock = pygame.time.Clock()
     self.running = True
     hs = open('highscore.txt', 'rt')
     self.highscore = int(hs.read())
     hs.close()
Exemple #7
0
    def draw(self):
        self.screen.fill((0, 0, 0))
        self.screen.blit(
            pygame.transform.scale(characters.load_image("sky.png"),
                                   (WIDTH, HEIGHT)), (0, 0))
        self.all_sprites.draw(self.screen)

        for enemy in self.enemies_mel.sprites():
            posx = enemy.rect.topleft[0]
            posy = enemy.rect.midtop[1] - 20
            pygame.draw.rect(self.screen, (0, 0, 0), (posx, posy, 100, 20))
            pygame.draw.rect(self.screen, (0, 255, 0),
                             (posx, posy, int(100 * enemy.hp / enemy.mhp), 20))

        hat = characters.load_image(f'{self.player.clas}.png', -1)
        self.screen.blit(
            hat,
            (self.player.rect.topleft[0], self.player.rect.topleft[1] - 25))

        if not self.paused:
            for i in self.particles:
                i.update()
                if not i.active:
                    self.particles.remove(i)

        pygame.draw.rect(self.screen, (0, 0, 0),
                         (WIDTH - self.player.maxHealth * 2, 0,
                          self.player.maxHealth * 2, 30))
        pygame.draw.rect(
            self.screen, (255, 0, 0),
            (WIDTH - self.player.health * 2, 0, self.player.health * 2, 30))

        text = pygame.font.Font('data/joker.ttf',
                                80).render(f'{self.player.health}', 1,
                                           (255, 255, 255))
        text = pygame.transform.scale(text, (self.player.maxHealth * 2, 30))
        self.screen.blit(text, (WIDTH - self.player.maxHealth * 2, 0))

        text = pygame.font.Font('data/joker.ttf',
                                30).render(f'{self.player.coins}$', 1,
                                           (255, 255, 0))
        self.screen.blit(text, (5, 5))

        file = open('highscore.txt', 'rt')
        heh = int(file.read())
        file.close()
        text = pygame.font.Font('data/joker.ttf',
                                30).render(f'Best score: {heh}$', 1,
                                           (255, 255, 0))
        self.screen.blit(text, (5, 40))

        if self.paused:
            psm = pygame.Surface((WIDTH, HEIGHT))
            psm.fill((0, 0, 0))
            psm.set_colorkey((0, 255, 0))
            psm.set_alpha(128)
            self.screen.blit(psm, (0, 0))
            text = pygame.font.Font('data/joker.ttf',
                                    100).render('GAME PAUSED', 1,
                                                (255, 255, 255))
            text = pygame.transform.scale(text, (WIDTH // 2, 50))
            self.screen.blit(text, (0, HEIGHT - 100))

        if self.cursor_active:
            cursor = characters.load_image('cursor.png', -1)
            self.screen.blit(cursor, self.mouse_pos)
        pygame.display.flip()