Программа функционально состоит из двух частей:
1) клиента
2) сервера (настройки сервера на рис.1)
Клиент запускается, подключается к серверу и ждёт сообщений от сервера, отсылает команды игрока.
Сервер принимает подключения от клиентов (не более 2-х) и обрабатывает сообщения от клиента.
Сервер - консольное приложение, запускающее игровое ядро (Kernel.cs). В консольное окно отображаются системные сообщения в цвете в зависисимости от типа. Прервать работу можно нажав комбинацию клавиш .
При старте ядра запускается сокет сервер (SocketServer.cs), который ждёт подключений клиентов и команд от них.
При подключении клиента к сокет серверу (рис.2) ему присваивается номер (1 из 2). При подключении большего кол-ва клиентов отключение разрывается.
При нажатии обоими клиентами кнопки старт, ядро начинает игру.
Запускаются два процеса:
1) добавление машин через определённый период времени
2) расчёт позиций машин через определённый период времени
Игру можно принудительно прервать, нажав на кнопку «Прервать» или клавишу .
Машина текущего игрока в рамке. Управление машиной осуществляется стрелками Вправо/Влево.
При столкновении машины игрока с другой игра приостанавливается и появляется надпись с результатом. Для перехода к новой игре надо кликнуть по надписи или нажать кнопку «Прервать»
В клиенте также как и в сервере есть отображение системных сообщений (рис 4.), которые можно посмотреть для диагностики, отметив чекбокс «Системные сообщения»