Музыка
Мы на финишной прямой. В player.py
добавим демонов:
self.weapon_attack_sound = pygame.mixer.Sound('../audio/attack/slash.wav')
self.weapon_attack_sound.set_volume(0.4)
Первый демон укажет на название файла, а второй на громкость. Далее, вызовем звук при нажатии на клавишу:
self.weapon_attack_sound.play()
Повторим успех с ударом от монстра:
self.hit_sound = pygame.mixer.Sound('../audio/attack/claw.wav')
self.hit_sound.set_volume(0.4)
self.hit_sound.play()
Данный метод я вызвал в get_damage после успешного попадания. Теперь мы слышим попадания при ударе. А монстр? Добавим ещё пару демонов и вызов:
self.attack_sound = pygame.mixer.Sound(monster_info['attack_sound'])
self.attack_sound.set_volume(0.3)
self.attack_sound.play()
Вызов функции в методе actions-методе в enemy.py
. Осталось только главная музыка игры. Переходим в main.py
:
main_sound = pygame.mixer.Sound('../audio/main.wav')
main_sound.play(loops = -1)
Это два новых демона. Отличие только одно — метод play(loops = -1)
. Тут мы создаём музыку, которая будет играть снова и снова во время игры и не закончится до выхода.
В конце, я забыл, что игра не заканчивается. Я исправил это функцией final
в level.py
:
def final(self):
if self.player.health <= 0:
print('\n', '\n', 'Линк умер. Хана Хайрулу')
exit()
if self.player.exp > 5000:
print('\n', '\n', 'Линк победил')
exit()
Тут всё просто. При получении более 5000 очков — вы победили, менее — проиграли. Ну и конечно, вернул здоровье и энергию на 100%, а экспу на 0. Все файлы с доработками оставлю тут. Вот что получилось:
Last updated