Если ты делаешь консольный проект, ты наверняка сталкивался с тем, что он выглядит… скучно.
Текст выводится сухо, всё статично, атмосферы — ноль.
Когда я делал свою мини-RPG, хотелось добавить хоть немного "магии": 💃
чтобы битва ощущалась, а не просто печаталась как список чисел.
И тут на сцену выходит rich — библиотека, которая превращает обычную консоль в стильный интерфейс почти без усилий.
👩💻 Что делает rich?
В моём проекте она отвечает за два эффекта:
1. Анимация боя — прогресс-бар, который создаёт ощущение хода битвы
2. Анимация удаления павших героев — небольшая «чистка поля», тоже через прогресс-бар
👨💻 По сути, это маленькие визуальные вставки, но они делают проект живым.
И самое главное — rich позволяет делать это буквально в несколько строк.
Вот пример: 😊
from rich.progress import Progress
def start_animation():
with Progress() as battle:
task = battle.add_task("[red]Идёт битва...", total=5)
while not battle.finished:
battle.update(task, advance=0.3)
Это всё. 🗿
И уже есть красивая анимация!
──────────────────
⚙️ Как это работает в проекте?
В файле animation_battle.py два ключевых метода:
☀️start_animation() — проигрывается во время атаки
☀️clear_death() — проигрывается, когда герой погибает и удаляется из списка
Эти анимации запускаются прямо посреди игрового цикла, и благодаря им:
☀️появляется ощущение «происходящего действия»
☀️игрок видит прогресс битвы
☀️консоль перестаёт быть скучной
Rich — это как спецэффекты в кино: сюжет тот же, но ощущения другие.
😎 Почему тебе стоит попробовать rich?
Если ты работаешь с консолью и хочешь сделать интерфейс:
💻 красивым
💻 читаемым
💻 выразительным
💻 динамичным
…rich — идеальный вариант.
Это один из тех инструментов, которые дают много «вау-эффекта» при минимуме кода. 😱
