Решение для хакатона "Кодируй и побеждай", проходившего в Твери от Кванториума.
Трек: Основы программирования Python (15-17 лет)
Результат: 1 место
Время выполнения: 2 часа
Текстовая консольная игра на Python с ООП. Управляйте питомцами (кошка, собака, попугай), кормите их, играйте, покупайте товары в магазине. Следите за голодом, счастьем и здоровьем - иначе питомец умрёт.
python demo.pyhackaton_kvantorium/
├── demo.py # демонстрационный запуск
├── TZ.md # примерное ТЗ (восстановлено по коду)
├── ruff.toml # конфиг линтера
└── src/
├── __init__.py
├── game.py # основной класс Game
├── manage_owner.py # класс Owner (владелец)
├── manage_pets.py # классы Pet, Cat, Dog, Parrot
├── report.py # класс Report (отчёт)
└── shop.py # класс Shop (магазин)
- Python 3.13
- ООП: наследование, инкапсуляция, полиморфизм
- Сохранение/загрузка состояния (JSON)
- Линтер и форматтер: ruff (проверка стиля кода, форматирование, исправление ошибок)
Код написан во время хакатона (2 часа). Дома были добавлены:
- Докстринги ко всем классам и методам (с помощью нейросети)
- Примерное ТЗ — восстановлено по коду, так как оригинальное ТЗ было напечатано на бумаге и не сохранилось
Хотелось бы отметить моменты, которые можно улучшить:
- Просмотр кода: судья подходит к каждому ноутбуку и смотрит код в редакторе. Было бы удобнее выделять каждой команде репозиторий на GitHub — и судьям проще, и участникам полезный опыт.
- ТЗ: напечатано на бумаге — после хакатона не сохраняется. Хорошо бы предоставлять ТЗ в электронном виде (хотя бы PDF на почту по просьбе).
- Призы: для регионального хакатона более чем скромно — шоппер с блокнотом. Хочется верить, что в следущий раз, призы будут круче.
В целом опыт интересный, но организация могла быть лучше.