Умная консольная утилита для подбора контрпиков в Dota 2. Приложение анализирует статистику матчей через OpenDota API и предлагает лучших героев против выбранного драфта противника.
Проект разработан с использованием принципов Clean Architecture и SOLID.
- Поиск героев: Быстрый поиск и автодополнение имен героев.
- Анализ матчапов: Загрузка реальной статистики побед/поражений с OpenDota.
- Умный алгоритм: Использование Байесовского сглаживания (Bayesian smoothing) для коррекции винрейтов на малых выборках игр.
- Красивый UI: Интерактивный интерфейс с таблицами и цветами на базе
Spectre.Console.
Решение разделено на 4 независимых слоя (Clean Architecture):
- Domain: Ядро системы. Содержит сущности (
Hero,Matchup) и интерфейсы (IOpenDotaClient). Не имеет зависимостей. - Application: Бизнес-логика. Содержит сервис
CounterPickService, который реализует алгоритм анализа и фильтрации. - Infrastructure: Работа с внешним миром. Реализация клиента к OpenDota API через
HttpClient. - ConsoleUI: Слой представления. Отвечает за взаимодействие с пользователем.