В этом проекте студентам предлагается реализовать консольную сетевую игру "Крестики-нолики" для двух игроков. Программа должна предоставлять игровое поле и позволять игрокам поочередно делать ходы до тех пор, пока не будет определен победитель или ничья.
- Игра должна иметь игровое поле размером 3x3 или 4x4.
- Реализованы правила игры и проверка наличия победителя или ничьи.
- Программа должна предоставлять интерфейс для ввода ходов игроков и отображения игрового поля на каждом шаге.
- Обработка ошибок и валидация ввода, чтобы предотвратить некорректные ходы.
Развертывание сервисов (и клиента и сервера) должно осуществляться с использованием docker compose в директории с проектом.
Написаны юнит-тесты на core логику приложения.
Максимум - 15 баллов (при условии выполнения обязательных требований):
- Реализован алгоритм - 2 балла.
- Реализовано разделение на слои (транспортный и т.д.) - 2 балла.
- Реализовано API сервиса - 2 балла.
- Реализован интерфейс - 2 балл.
- Написаны юнит-тесты - 1 балл.
- Написаны интеграционные тесты - 2 балла.
- Тесты адекватны и полностью покрывают функциональность - 1 балл.
- Понятность и чистота кода - до 3 баллов.
Зачёт от 10 баллов