Клиент "Игры в доминирование"
Клиентская часть приложения "Игры в доминирование" значительно проще серверной части. Рассматривая работу клиента, можно выделить ключевые интерфейсные формы и функции, сгруппированные в модули:
- "Ядро клиента" — модуль VBA, реализующий основные функции клиента, включая подключение к серверу. Остальные функции распределены по модулям согласно их назначению.
- "Клиент" — форма, предоставляющая интерфейс игрока для подключения к серверу, выполнения хода, просмотра игрового поля и выхода из игры.
- "Подключиться к игре" — форма для подключения к серверу.
- "Сделать ход" — форма, позволяющая игроку выполнить очередной ход.
- "Обмен данными" — модуль VBA, отвечающий за обработку сообщений от сервера и отправку запросов.
- "Игровое поле" — форма с гиперссылкой на страницу игрового поля.
- "Параметры" — модуль VBA для чтения и записи параметров клиента.
Ключевой процедурой клиента является обработка события Таймер (Timer) формы "Клиент", реализующая обратную связь с сервером. Клиент периодически проверяет наличие сообщений, адресованных игроку, и реагирует на них в зависимости от текущего состояния. Например, в состоянии "игра начата" клиент принимает сообщения от сервера.
Сообщения от сервера делятся на две категории:
- Информационные — отображаются на экране.
- Управляющие — изменяют состояние клиента или инициируют выполнение определённых действий.
Рис. П2.6. Диаграмма вариантов использования для клиента "Игры в доминирование"
Взаимодействие клиента с сервером осуществляется путём отправки запросов, содержащих координаты клетки для хода или заявку на выход из игры.
Замечание
Обмен данными между сервером и клиентом осуществляется через таблицы сервера приложения. Эти таблицы используются совместно клиентскими приложениями и сервером игры программным способом с помощью интерфейса DAO. Об этом рассказано в разд. "Программирование с использованием интерфейса DAO"гл. 16.
На основе данного описания клиента была создана диаграмма вариантов использования, представленная на рис. П2.6.