Code of Kutulu Contest C# Starter Kit
builder
— утилита для сборки всех исходников в один файл и копирует результат в буфер обмена, для отправки на CodinGame.com.
Директории, из которых нужно собрать все исходники нужно указать в параметрах.
В корне репозитория лежит build.cmd
, который запускает эту утилиту с нужными параметрами. Этот батник заработает только после сборки проекта builder
.
В директории CodeOfKutulu
лежит исходный код самого бота.
В той же директории, в папке lib
лежат вспомогательные классы, не зависящие от игры.
Также в папке models
лежат готовые модели для лиг Wood 1
, Wood 2
, Wood 3
, Bronze
.
Для игры в этих лигах ввод менять не требуется.
Основные классы:
-
State.cs
— класс с состоянием игры. -
StateReader.cs
— класс для чтения состояния игры. Принимает в конструкторе либо функцию для чтения строки из потока, либо строку, из которой, сам будет вычитывать данные. В случае строки, все символы переноса строки должны быть заменены на символ|
. ТакжеStateReader
производит автоматическое логирование ввода в нужном формате, получающийся лог пишется в stderror. -
Ai.cs
— класс с логикой вашего бота. -
Ai_Tests.cs
— тесты на бота организованные так, чтобы было удобно копипастить в него залогированное состояние из визуализатора. -
Constants.cs
— константы, описанные в правилах игры. -
Для вывода сообщения в output используйте Console.WriteLine.
-
Для вывода дебаг сообщений в игре используйте Console.Error.WriteLine.