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