def __init__(self, x, y, *group): super(BtnExit, self).__init__(*group) self.image_1 = load_image(['menu', 'btn_exit_1.png']) self.image_2 = load_image(['menu', 'btn_exit_2.png']) self.put_image(load=False) self.rect.x = x - self.rect.width // 2 self.rect.y = y * 1.85 - self.rect.height // 2
def __init__(self, x, y): super(BtnStart, self).__init__(menu_sprites) self.image_1 = load_image(['menu', 'btn_start_1.png']) self.image_2 = load_image(['menu', 'btn_start_2.png']) self.put_image(load=False) self.rect.x = x - self.rect.width // 2 self.rect.y = y * 1.6 - self.rect.height // 2
def __init__(self, x, y, ship_type): super(CloseShip, self).__init__(menu_sprites, choice_ship_sprites) self.image = load_image(['menu', 'close_ship.png']) self.rect = self.image.get_rect() self.rect.x = x - self.rect.w // 2 self.rect.y = y - self.rect.h // 2 self.ship_type = ship_type
def __init__(self, rect): super(BtnSpecific, self).__init__(menu_sprites) self.image = load_image(['menu', 'btn_specifications.png']) self.put_image() self.rect.x = rect.x + rect.w * 0.9655 self.rect.y = rect.y + rect.h * 0.8 - self.rect.height // 2 self.x_cur = self.rect.x self.y_cur = self.rect.y
def __init__(self, type, x, y, damage=100): super(SpaceShipShot, self).__init__(all_sprites, shot_sprites) self.image = load_image(['player', f'lvl_{type}', f'shot.png']) self.mask = pygame.mask.from_surface(self.image) self.rect = self.image.get_rect() self.rect.x = x - self.rect.w // 2 self.rect.y = y - self.rect.h // 2 self.damage = damage
def __init__(self, x, y, prise, ship_type): super(BtnBuyShip, self).__init__(menu_sprites, choice_ship_sprites) self.image = load_image(['menu', 'buy_1.png']) self.rect = self.image.get_rect() self.rect.x = x - self.rect.w // 2 self.rect.y = y - self.rect.h // 2 self.ship_type = ship_type self.prise = prise
def resize(self, image, font_size=None): center = self.rect.center self.image = load_image(['menu', image]) self.rect = self.image.get_rect() self.rect.center = center if font_size: self.view_price(size=28) else: self.view_price()
def __init__(self, x, y): super(LolHp, self).__init__(all_sprites, d_size=1.1) self.image = load_image(['player', 'lol_hp.png']) self.resize(0.5) self.put_image(load=True) self.rect.x = x - self.rect.w // 2 self.rect.y = y - self.rect.h // 2 self.time_tik = 0.8 self.put_timer()
def __init__(self, ship, x, y): super(Bum, self).__init__(all_sprites) columns, rows = 5, 4 sheet = load_image(['environment', 'bum.png'], -1) self.cut_sheet(sheet, columns, rows) self.image = self.frames[self.cur_frame] self.rect.x = x - self.rect.w // 2 self.rect.y = y - self.rect.h // 2 self.time_tik = 0.12 self.ship = ship
def __init__(self, x, y, type): group = [menu_sprites, menu_specific_sprites] super(Specific, self).__init__(*group) self.image = load_image(['menu', f'specific_{type}.png']) self.resize(1) self.put_image() self.rect = self.image.get_rect() self.rect.x = x - self.rect.w // 2 self.rect.y = y - self.rect.h // 2 self.type = type
def __init__(self, type, x, y): super(MenuSpaceShip, self).__init__(menu_sprites) self.image = load_image(['player', f'lvl_{type}', f'lvl{type}.png'], -1) self.resize(1.5) self.mask = pygame.mask.from_surface(self.image) self.rect = self.image.get_rect() self.rect.x = x - self.rect.width // 2 self.rect.y = y * 1.06 - self.rect.height // 2 self.type_ship = type
def __init__(self, x, y, obj): super(ShipFire, self).__init__(all_sprites, player_sprites) columns, rows = 4, 1 sheet = load_image(['player', f'fire.png'], -1) self.cut_sheet(sheet, columns, rows) self.image = self.frames[self.cur_frame] self.move(x, y) self.time_tik = 0.1 self.put_timer() self.obj = obj
def __init__(self, x, y): super(Coin, self).__init__(all_sprites, menu_sprites, koin_sprites) columns, rows = 3, 2 sheet = load_image(['environment', 'koin.png'], -1) self.cut_sheet(sheet, columns, rows) self.image = self.frames[self.cur_frame] self.radius = self.rect.w // 2 - 30 self.rect.x = max(0, x - self.rect.w // 2) self.rect.y = max(0, y - self.rect.h // 2) self.time_tik = 0.1 self.put_timer()
def __init__(self, x, y): super(GameOverTitle, self).__init__(game_over_sprites) columns, rows = 2, 1 self.image = load_image(['menu', f'game_over_title.png']) self.resize(0.8) self.cut_sheet(self.image, columns, rows) self.image = self.frames[self.cur_frame] self.rect.x = x - self.rect.w // 2 self.rect.y = y - self.rect.h // 2 self.time_tik = 1 self.put_timer()
def __init__(self, center): super(Shop, self).__init__(menu_sprites) columns, rows = 2, 1 sheet = load_image(['menu', f'magaz.png']) self.cut_sheet(sheet, columns, rows) self.image = self.frames[self.cur_frame] self.rect.center = center self.rect.x -= self.rect.w * 0.01 self.rect.y += self.rect.h * 0.01 self.time_tik = 1 self.put_timer()
def __init__(self): super(Planet, self).__init__(all_sprites, planet_sprites, menu_sprites) columns, rows = 4, 2 sheet = load_image(['environment', f'planets.png']) rect = sheet.get_rect() d_size = 0.4 sheet = pygame.transform.scale(sheet, (int(rect.w * d_size), int(rect.h * d_size))) self.cut_sheet(sheet, columns, rows) self.place() self.time_tik = 0.025 self.put_timer()
def __init__(self, x, y, prise, power, obj): super(BtnBuySpecific, self).__init__(menu_sprites, menu_specific_sprites) self.image = load_image(['menu', 'buy_1.png']) self.rect = self.image.get_rect() self.rect.x = x - self.rect.w // 2 self.rect.y = y - self.rect.h // 2 self.type_specific = obj.type self.prise = prise self.power = power self.obj = obj
def __init__(self, x, y): super(SpecificUp, self).__init__(menu_sprites) columns, rows = 15, 1 self.image = load_image(['menu', f'specific_up.png']) self.resize(0.3) self.cut_sheet(self.image, columns, rows) self.image = self.frames[self.cur_frame] self.rect.x = x - self.rect.w // 2 self.rect.y = y - self.rect.h * 0.68 self.time_tik = 0.03 self.put_timer()
def __init__(self, x, y): super(Prizrak, self).__init__(game_over_sprites) columns, rows = 15, 2 self.image = load_image(['menu', f'prizrak.png']) self.resize(1) self.cut_sheet(self.image, columns, rows) self.image = self.frames[self.cur_frame] self.rect.x = x - self.rect.w // 2 self.rect.y = y - self.rect.h // 2 self.time_tik = 0.1 self.put_timer() self.stop = False
def __init__(self, x, y, type, enable=True): group = [menu_sprites, menu_ships_sprites, choice_ship_sprites] super(ShowShip, self).__init__(*group) self.image = load_image(['player', f'lvl_{type}', f'lvl{type}.png'], -1) self.resize(1.5) self.put_image() self.rect = self.image.get_rect() self.rect.x = x - self.rect.w // 2 self.rect.y = y - self.rect.h // 2 self.enable = enable self.ship_type = type
def __init__(self, x, y): super(BallOnShip, self).__init__(menu_sprites) columns, rows = 10, 3 self.image = load_image(['menu', f'ball.png']) self.resize(0.8) self.cut_sheet(self.image, columns, rows) del self.frames[-1] self.image = self.frames[self.cur_frame] self.rect = self.image.get_rect() self.rect.x = x - self.rect.w // 2 self.rect.y = y * 1.1 - self.rect.h // 2 self.time_tik = 0.13 self.put_timer()
def __init__(self, hp_bost=0): super(Meteor, self).__init__(all_sprites, meteors_sprites, menu_sprites) columns, rows = 8, 8 self.image = load_image(['environment', f'meteors.png']) self.resize(2) self.cut_sheet(self.image, columns, rows) self.image = self.frames[self.cur_frame] self.place() self.radius = self.rect.w * 0.20 self.time_tik = 0.1 self.hp_max = 70 + hp_bost self.hp = self.hp_max self.sprite_hp = ShowHP(self.rect.x + self.rect.w // 2, self.rect.y + self.rect.h, self)
def __init__(self, x, y, ship): super(ShipHp, self).__init__(all_sprites, player_sprites) columns, rows = 3, 1 self.image = load_image(['player', f'view_hp.png']) self.resize(0.6) self.cut_sheet(self.image, columns, rows) self.image = self.frames[self.cur_frame] self.rect.x = x - self.rect.w self.rect.y = y - self.rect.h self.ship = ship x = width - self.rect.w // 2 w = 10 y = height - self.rect.h // 2 self.sprite_hp = ShowHP(x, y, self.ship, w, self.rect.w, put_center=False) self.view_hp = False
def __init__(self, type, damage=100, weapon_damage=100, power_magnet=2, hp_max=100): super(SpaceShip, self).__init__(all_sprites, player_sprites) self.hp_max = hp_max self.hp = self.hp_max self.damage = damage self.weapon_damage = weapon_damage self.power_magnet = power_magnet self.image = load_image(['player', f'lvl_{type}', f'lvl{type}.png']) self.mask = pygame.mask.from_surface(self.image) self.rect = self.image.get_rect() self.rect.x = width // 2 - self.rect.width // 2 self.rect.y = height * 0.38 - self.rect.height // 2 self.type = type self.ship_fire = [] self.fire_cord = [] self.time_tik = 0.2 self.put_timer() self.stop = False self.show_hp = ShipHp(width, height, self)
def __init__(self, d_w=0.21, d_h=0.49): super(ViewSpaceShip, self).__init__(menu_sprites) self.image = load_image(['menu', 'choice_ship.png']) self.rect = self.image.get_rect() self.rect.x = width * d_w - self.rect.w // 2 self.rect.y = height * d_h - self.rect.h // 2
def __init__(self): super(Pause, self).__init__(game_pause_sprites) self.image = load_image(['menu', 'pause.png']) self.rect = self.image.get_rect() self.rect.x = width // 2 - self.rect.w // 2 self.rect.y = height * 0.3 - self.rect.h // 2
def __init__(self, *group): super(BaseAnimateSprite, self).__init__(*group) columns, rows = 3, 2 self.frames = [] self.cur_frame = 0 sheet = load_image(['environment', 'koin.png'], -1)
def __init__(self, x, y, *group): super(BtnContinue, self).__init__(*group) self.image = load_image(['menu', 'btn_continue.png']) self.put_image() self.rect.x = x - self.rect.width // 2 self.rect.y = y - self.rect.height // 2
def __init__(self): super(Fon, self).__init__(menu_sprites) self.image = pygame.transform.scale(load_image(['menu', 'fon.png']), (width, height)) self.rect = self.image.get_rect()
def __init__(self): super(Logotip, self).__init__(menu_sprites) self.image = load_image(['menu', 'logotip.png']) self.rect = self.image.get_rect() self.rect.x = width - self.rect.w self.rect.y = height - self.rect.h