Skip to content

lichking228/DotaCounterPicker

Repository files navigation

Dota 2 Counter Picker 🛡️

Умная консольная утилита для подбора контрпиков в Dota 2. Приложение анализирует статистику матчей через OpenDota API и предлагает лучших героев против выбранного драфта противника.

Проект разработан с использованием принципов Clean Architecture и SOLID.

🚀 Возможности

  • Поиск героев: Быстрый поиск и автодополнение имен героев.
  • Анализ матчапов: Загрузка реальной статистики побед/поражений с OpenDota.
  • Умный алгоритм: Использование Байесовского сглаживания (Bayesian smoothing) для коррекции винрейтов на малых выборках игр.
  • Красивый UI: Интерактивный интерфейс с таблицами и цветами на базе Spectre.Console.

🏗️ Архитектура

Решение разделено на 4 независимых слоя (Clean Architecture):

  1. Domain: Ядро системы. Содержит сущности (Hero, Matchup) и интерфейсы (IOpenDotaClient). Не имеет зависимостей.
  2. Application: Бизнес-логика. Содержит сервис CounterPickService, который реализует алгоритм анализа и фильтрации.
  3. Infrastructure: Работа с внешним миром. Реализация клиента к OpenDota API через HttpClient.
  4. ConsoleUI: Слой представления. Отвечает за взаимодействие с пользователем.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages