diff --git a/Game_V2.py b/Game_V2.py index 44cb943..c855ae5 100644 --- a/Game_V2.py +++ b/Game_V2.py @@ -22,6 +22,7 @@ class Player(pygame.sprite.Sprite): self.speed = 2.25 self.time = 0 + #health self.current_health = 1000 #health self.maximum_health = 1000 @@ -124,6 +125,8 @@ class Player(pygame.sprite.Sprite): new_projectile = Projectile(self.rect.center, direction, camera_group) self.can_shoot = False self.shoot_cooldown = pygame.time.get_ticks() + self.shoot = True + def update(self): self.input() @@ -208,36 +211,48 @@ class Projectile(pygame.sprite.Sprite): self.kill() class Enemy(pygame.sprite.Sprite): - def __init__(self, pos, group): + def __init__(self, pos, group, scale): super().__init__(group) - self.image = pygame.surface.Surface((20, 20)) - self.image.fill("red") - self.rect = self.image.get_rect(center = pos) + self.original_image = pygame.image.load("Sprites/bomb.png").convert_alpha() + self.image = pygame.transform.scale(self.original_image, (int(self.original_image.get_width() * scale), int(self.original_image.get_height() * scale))) + self.phase_2 = pygame.image.load("Sprites/bomb_phase2.png").convert_alpha() + self.phase_2 = pygame.transform.scale(self.phase_2, (int(self.phase_2.get_width() * scale), int(self.phase_2.get_height() * scale))) + self.rect = self.image.get_rect(center=pos) self.pos = self.rect.center self.direction = pygame.math.Vector2() self.speed = 2 self.health = 2 + self.death = pygame.mixer.Sound("Sounds/explosion.wav") self.image_direction = 1 - - def damage(self, damage): self.health -= 1 + if self.health == 1: + self.image = self.phase_2 if self.health <= 0: enemies.remove(self) self.kill() - + self.death.play() def update(self): self.direction = pygame.math.Vector2(player.rect.center) - self.rect.center - if(pygame.math.Vector2.length(self.direction)<20): - player.get_damage(200) - self.kill() - enemies.remove(self) - player.time = 0 - self.pos += self.direction.normalize() * self.speed + if pygame.math.Vector2.length(self.direction) < 20: + if self.image == self.phase_2: + player.get_damage(100) + self.kill() + enemies.remove(self) + player.time = 0 + self.death.play() + else: + player.get_damage(200) + self.kill() + enemies.remove(self) + player.time = 0 + self.death.play() + + self.pos += self.direction.normalize() * self.speed self.rect.center = (round(self.pos.x), round(self.pos.y)) class CameraGroup(pygame.sprite.Group): @@ -267,7 +282,7 @@ def spawn_enemy(): if len(enemies) < 20: random_x = randint(-1000, 1000) random_y = randint(-1000, 1000) - enemies.append(Enemy((player.rect.centerx + random_x, player.rect.centery + random_y), camera_group)) + enemies.append(Enemy((player.rect.centerx + random_x, player.rect.centery + random_y), camera_group, 0.05)) spawn_enemy_event = pygame.USEREVENT + 1 @@ -298,18 +313,10 @@ while running: if e.type == spawn_enemy_event: spawn_enemy() - if e.type == pygame.KEYDOWN: - if e.key == pygame.K_UP: - player.get_health(200) - - if e.type == pygame.KEYDOWN: - if e.key == pygame.K_DOWN: - player.get_damage(200) - if player.time > 3: if player.current_health < 999: - player.get_health(200) - player.time -= 1.5 + player.get_health(100) + player.time -= 1 @@ -321,6 +328,16 @@ while running: camera_group.custom_draw(player) + pygame.display.flip() + + clock.tick(60) + player.time += 0.016 + + print(player.time) + + + + pygame.display.flip() clock.tick(60)