+380 57 755 34 05 team@fulcrum.software

Данное тестовое задание рассчитано на начинающих разработчиков, которые хотели бы проверить свои навыки программирования на языке С++. Успешное и самостоятельное выполнение данного проекта предоставит вам бесценный опыт, а также гарантирует быстрое рассмотрение вашей кандидатуры на позицию «Junior С++ Developer» в нашей компании. 

Постановка задачи

Необходимо разработать приложение с оконным (не консольное) интерфейсом, позволяющее играть в шашки по сети. Приложение должно гарантировать соблюдение всех правил традиционной игры.

На выбор исполнителя возможно два варианта сетевой архитектуры

  1. Каждый экземпляр приложения выступает в роли и клиента и сервера одновременно. Выделенный сервер отсутствует. Стороны соединяются путем явного указания IP:Port одной из сторон.
  2. Разработан выделенный сервер (для сервера можно использовать любую технологию/язык программирования), который позволяет игрокам находить друг друга и обеспечивает всю коммуникацию. В таком случае, Windows приложение будет выполнять только роль клиента.

Технологии

Для реализации пользовательского интерфейса рекомендуется использовать библиотеку QT.

Игровая доска и шашки могут быть как растровыми, так и векторными. Для корректного масштабирования желательно применять векторный формат.

Сетевое взаимодействие может быть реализовано по любому протоколу, передача данных может быть как в бинарном, так и в текстовом формате.

Ожидается удачное применение ООП. 

Приветствуется использование последнего стандарта С++ и STL.

Знакомство и применение C++ Core Guidelines будет огромным плюсом.

Сроки выполнения

Четкие сроки не установлены т. к. мы не ожидаем работы полный рабочий день. Нам кажется, что 3-4 недели являются достаточно разумным сроком для выполнения данного задания с учетом частичной загрузки.