def check_player_collisions(self): """Метод проверяет, подобрал ли игрок бонус, добавляет монету в худ, дает 200 очков""" collided = pygame.sprite.spritecollideany(self, players_group) if collided: hud.add_score(200) hud.add_coins(1) self.kill()
def die(self, rate): """rate - множитель очков, выдающихся при убийстве Гумбы. Позволяет делать комбо""" self.image = self.frames[2] self.smert = max(1, self.smert) # Запуск счетчика смерти. max нужен, # чтобы счетчик не сбрасывался при возможных повторных вызовах метода PointsUp(*self.rect.topleft, 200 * rate) # Создаем высвечивающиеся очки hud.add_score(200 * rate) # Добавляем счет в худ
def check_player_collisions(self): """Метод проверяет, подобрал ли игрок бонус, превращает игрока в Супер Марио, дает 1000 очков""" collided = pygame.sprite.spritecollideany(self, players_group) if collided: collided.set_state('big') PointsUp(*collided.rect.topleft, 1000) hud.add_score(1000) self.kill()
def __init__(self, x, y, world): self.frames = ItemBase.ITEMS[world][ 15:19] # Все кадры вращающейся монетки для этого мира self._load_image(x, y) self.start_y = self.rect.y - self.rect.h # Нижняя точка полета монеты self.end_y = self.start_y - self.rect.h * 2 # Верхняя точка полета монеты self.vx = 7 # Вертикальная скорость в пикселях на кадр # При появлении монета добавляет игроку hud.add_score(200) # 200 очков hud.add_coins(1) # +1 coin
def die(self, rate): """rate - множитель очков, выдающихся при убийстве Купы. Позволяет делать комбо""" if not self.smert: # Спрятаться в панцирь и остановиться self.load_image(2) self.smert = 1 self.vx = 0 else: if not self.vx: # Выбор направления движения катающейся в панцире Купы right = (self.rect.x + self.rect.w // 2) > ( Map.get_player().rect.x + Map.get_player().rect.w // 2) self.vx = 10 if right else (-10) else: # Окончательное убийство Купы PointsUp(*self.rect.topleft, self.value * rate) hud.add_score(self.value * rate) self.kill()
def fast_die(self): """Метод нужен для убийства черепахой, огненным шаром, движущимся блоком.""" PointsUp(*self.rect.topleft, self.value // 2) hud.add_score(self.value // 2) self.kill()