Исходный код находится в директории src
. Файлы с тестами находятся в той же директории и называются *.test.ts
.
Для тестов используется jest.
Основные файлы:
State.ts
— класс с состоянием игрыStateReader.ts
— класс для чтения состояния игры. Логирует прочитанное состояние с помощьюprintErr
Ai.ts
— ваш алгоритм ботаAi.test.ts
— тесты на бота организованные так, чтобы было удобно копировать в него залогированное состояние из визуализатора
Клонируйте репозиторий: git clone https://github.com/skbkontur/codingame-botters-starterkit-ts.git
Установите зависимости: npm install
или yarn install
npm run build
или yarn build
— собирает исходный код в файл dist/bundle.js
. и копирует его в буфер обмена для вставки на CodinGame.com.
Для копирования в буфер обмена используется специфичная для macOS утилита pbcopy
.
На Windows откорректируйте в файле package.json строчку с параметром "build", чтобы получилось следующее:
"build": "webpack -p && && clip < dist\bundle.js",
npm run watch
или yarn watch
— непрерывно следит за изменениями исходного кода и пересобирает dist/bundle.js
.
npm test
или yarn test
— собирает и запускает тесты.
npm test -- --watchAll
или yarn test --watchAll
— непрерывно следит за изменениями в коде и перезапускает тесты
Чем отличается от основного стартера
- TypeScript
- Тесты на jest
- Изначально рабочие тесты
- Глобальные функцие
print
,printErr
,readline
вынесены в модульIO.ts
- Сборка через
webpack
(если это важно)