| « Поставить закладку » « Сделать стартовой » | |||
|
|||
|
Статьи:: Базы данных :: Учебник по Access 2002 :: Приложение 2. Сетевое приложение "Игра в доминирование".
Приложение 2. Сетевое приложение "Игра в доминирование".
Приложение 2. Сетевое приложение "Игра в доминирование" В целях
демонстрации применения средств Access для разработки и использования сетевых
баз данных и иллюстрации примеров к гл. 16 книги "Microsoft Access 2002 в
подлиннике" издательства "БХВ-Петербург" одним из соавторов (В. Михеевой)
был разработан пример сетевого приложения "Игра в доминирование". Готовое
приложение "Игра в доминирование" находится на компакт-диске с примерами к серии
книг о Microsoft Office XP издательства "БХВ-Петербург". Установка и интерфейс
этого приложения описаны в разд. "Установка сетевого приложения" и "Интерфейс
пользователя" данного приложения. Познакомимся с
правилами игры. Есть игровое поле, которое состоит из клеток. Некоторые
клетки смежны. Смежность клеток определяется выбранной конфигурацией
(рис. П2.1). Считается, что каждая клетка доминирует над собой и над
всеми смежными клетками. Доминирование может характеризоваться весом,
например единицей или другим числом, в соответствии с заданной конфигурацией
(рис. П2.2). Темным фоном выделен центр смежности для данной
конфигурации.
Рис. П2.1.
Смежность клеток на игровом поле для разных
конфигураций
Рис. П2.2.
Конфигурация доминирования над смежными клетками Каждая клетка
игрового поля может быть раскрашена. Смежные клетки раскрашиваются одним
цветом. Таким образом, набор клеток одного цвета определяет доминирование
(или напряжение) этого цвета на игровом поле (рис. П2.3). На этом
рисунке темным фоном выделены центры раскрашенных одним цветом областей поля в
соответствии с конфигурацией, показанной на рис. П2.2. Числами указывается
результирующее напряжение данного цвета в клетках поля. Конфигурация
может быть поставлена на игровое поле в заданную позицию только в том случае,
если доминирование данного цвета оказывается строго больше
доминирова- ния других
цветов во всех смежных клетках (то есть во всех тех клетках, на которые
распространяется доминирование конфигурации). Если конфигурация ставится в
заданную позицию, то перекрываемые клетки других цветов перекрашиваются
("съедаются").
Рис. П2.3.
Доминирование одного цвета на игровом поле В игре могут
принимать участие несколько игроков, каждому из которых выдается одинаковое
количество фишек одного цвета (у каждого игрока свой цвет). Задачей игрока
является достичь наибольшего доминирования на игровом поле. По описанию игры
в доминирование можно разработать приложение Access, которое будет обслуживать
несколько игроков — разных пользователей в сети. Предположим, пользователи
работают в одноранговой сети. Рабочие станции пользователей, принимающих участие
в игре, можно разделить на две категории: клиенты и серверы.
Рис. П2.4.
Архитектура приложения "Игра в доминирование" На сервере
выполняется ядро игры — управляющий компонент приложения. На клиентских рабочих
станциях устанавливается компонент, предоставляющий пользователю интерфейс для
участия в игре. Таким образом, приложение "Игра в доминирование" представляет
собой распределенную базу данных Access с архитектурой "клиент-сервер", которая
может быть использована даже в одноранговой сети. Все участники одной игры
подключаются к одному серверу по схеме "звезда" (рис. П2.4). (На этом рисунке
изображены не только компоненты архитектуры приложения, но и файлы, из которых
они состоят. Файлы описаны в разд. "Установка сетевого приложения "Игра в
доминирование" данного приложения.) Функциональное описание
приложения Прежде чем
приступить к реализации приложения, необходимо четко определить назначение
каждого компонента и выбрать метод реализации каждой его функции. Функциональные
аспекты компонентов проектируемого приложения удобно представлять в виде
диаграмм вариантов использования UML (UML — Unified Modeling Language —
Унифицированный язык моделирования). Составим сначала текстовые описания
компонентов приложения "Игра в доминирование", а затем на их основе создадим
диаграммы вариантов использования UML. Краткое описание работы сервера В начале игры
сервер выдает каждому игроку набор фишек определенного цвета и количества. Далее
сервер работает по тактам. За один такт сервер проверяет наличие заявки на
обслуживание от очередного игрока и, если она есть, выполняет ее и возвращает
ответ клиенту. Краткое описание работы клиента Игрок
подключается к серверу игры. Если подключение выполнено успешно, игрок получает
свои фишки и сообщение о том, что все игроки подключены и игра началась. После
этого в любой момент времени игрок может сделать ход, т. е. послать серверу
заявку на захват определенной клетки игрового поля (в соответствии с заданной
конфигурацией доминирования). В ответ игрок может получить от сервера
подтверждение хода или отказ. Кроме этого, в любой момент времени игрок может
пожелать просмотреть текущее состояние игрового поля. И наконец, в любой момент
времени игрок может выйти из игры. Игра
заканчивается, когда выполняются условия окончания игры. Это может быть
истечение заданного промежутка времени, отсутствие незанятых клеток на игровом
поле, невозможность сделать ни одного допустимого хода или что-нибудь другое. В
нашей реализации игра будет заканчиваться при выполнении хотя бы одного из
четырех условий:
После завершения
игры подводятся ее итоги и по количеству набранных очков определяется
победитель. Результаты игры рассылаются всем подключенным
игрокам. По описанию
работы сервера игры в доминирование можно составить следующий список его
интерфейсных форм и функций, сгруппированных в модули:
Работу сервера
удобно реализовать в виде конечного автомата, который может находиться в одном
из перечисленных состояний и переходить из одного состояния в другое после
выполнения необходимых действий или в результате возникновения определенного
события.
Основная
процедура серверной части игры в доминирование — это процедура обработки события
Таймер (Timer) формы "Сервер", представляющая собой конечный автомат, состояниями которого
являются этапы игры. Вызов этой процедуры соответствует такту работы сервера, он
происходит периодически, через определенный промежуток времени, заданный в окне
свойств формы "Сервер" в качестве значения параметра Интервал таймера
(Timer Interval) (число миллисекунд). В каждом из состояний сервер вызывает
соответствующую состоянию функцию из модуля "Ядро игры" для выполнения
определенных действий. Сервер может
находиться в одном из состояний, определяющих функцию, которая будет выполнена
сервером за очередной такт. Например, в состоянии "игра начата" сервер проверяет
наличие заявки от одного из игроков и, если она есть, выполняет ее. Заявки
игроков можно разделить на две категории: сделать ход и выйти из игры.
Результатом обработки заявки игрока является выполнение сервером необходимых
действий и посылка игроку сообщения о результате этих действий. По данному
описанию сервера создана диаграмма вариантов использования, представленная на
рис. П 2.5.
Рис. П
2.5. Диаграмма вариантов использования для сервера "Игры в
доминирование" Клиентская часть
приложения "Игры в доминирование" значительно проще серверной части. По описанию
работы клиента "Игры в доминирование" можно составить следующий список его
интерфейсных форм и функций, сгруппированных в модули:
Основная
процедура клиентской части "Игры в доминирование" — это процедура обработки
события Таймер (Timer) формы "Клиент", которая необходима для реализации
обратной связи сервера с клиентом. Поскольку данный пример не предназначен для
иллюстрации взаимодействия приложений с помощью OLE Automation, обратная связь
сервера с клиентом осуществляется со стороны клиента и реализована в виде
вызываемой периодически процедуры проверки наличия адресованных игроку
сообщений. Клиент может находиться в одном из состояний, определяющих действия,
которые будут выполнены клиентом в ответ на очередное событие таймера. Например,
в состоянии "игра начата" клиентом производится прием сообщений от
сервера. Сообщения от
сервера делятся на две категории: информационные и управляющие. Управляющие
сообщения, в отличие от информационных, не отображаются на экране, а приводят к
изменению состояния клиента или выполнению клиентом определенных
действий.
Рис. П2.6.
Диаграмма вариантов использования для клиента "Игры в
доминирование" Взаимодействие
клиента с сервером осуществляется методом посылки" серверу заявки. Заявкой
игрока может быть ход (координаты клетки) или заявка на выход из
игры. Замечание
По данному
описанию клиента создана диаграмма вариантов использования, представленная на
рис. П2.6. Интерфейс
пользователя серверной части игры реализован в виде формы "Сервер", а интерфейс
пользователя клиентской части — в виде формы "Клиент". Параметры запуска баз
данных клиента и сервера настроены таким образом, что в момент открытия базы
данных отображается интерфейсная форма, а окно базы данных является скрытым.
Чтобы отобразить окно базы данных, нажмите комбинацию клавиш
<Alt>+<Fl> или клавишу <F11>. В окне базы данных отображаются
все объекты приложения, их можно изучить. Чтобы открыть окно редактора VBA для
просмотра программного кода приложения, выберите команду Сервис, Макрос,
Редактор Visual Basic (Tools, Macro, Visual Basic Editor) или нажмите
комбинацию клавиш
Рис. П2.7.
Форма "Клиент"
Рис. П2.8.
Форма "Сервер" Интерфейсная
форма "Клиент" (рис. П2.7) содержит кнопки, позволяющие выполнить все действия
игрока. Интерфейсная форма "Сервер" (рис. П2.8) имеет кнопки, позволяющие
выполнить все действия ведущего игры. Кнопка
Параметры в форме "Сервер" отображает интерфейсную форму "Конфигурация",
позволяющую настроить параметры игры (рис. П2.9).
Рис. П
2.9. Форма для установки параметров игры Установка сетевого приложения "Игра в
доминирование" Компоненты
сетевого приложения обычно устанавливаются в сети на нескольких компьютерах в
соответствии с архитектурой приложения. Приложения обычно поставляются в виде
дистрибутива с программой установки, которая позволяет выбрать необходимые
компоненты приложения и выполняет установку программного продукта на локальную
или сетевую рабочую станцию. Если сетевой программный продукт имеет серверную
часть, она обычно поставляется в виде отдельного дистрибутива с собственной
программой установки. В состав
приложения "Игра в доминирование" входят лишь четыре файла (см. рис. П2.4),
поэтому нет необходимости создавать для них специальную программу
установки.
Все. эти файлы
находятся на компакт-диске, который прилагается к комплекту книг о Microsoft
Office XP. Серверную часть
"Игры в доминирование" необходимо поместить в общую папку на файловом сервере
или рабочей станции, которая служит сервером игры. Клиентскую часть
игры можно установить двумя способами.
Файл рабочей
группы участников игры Domination.mdw необходимо присоединить к копиям Access,
установленным на компьютере каждого из участников игры, с помощью программы
Администратор рабочих групп или с помощью параметра командной строки /wrkgrp.
Для ведущего игры его можно также присоединить к базе данных сервера, а для
игрока — к базе данных клиента игры, для чего следует поместить файл
Domination.mdw в общую папку на файловом сервере или рабочей станции. Можно
также скопировать его на рабочие станции игроков, чтобы подключить к их копиям
Access локальные копии файла рабочей группы. Чтобы
присоединить существующий файл рабочей группы к конкретной базе данных, в
Проводнике Windows, создайте ярлык для открытия этой базы данных, в командной
строке которого укажите параметр /wrkgrp и полное имя файла рабочей группы.
Например, чтобы использовать базу данных сервера приложения "Игра в
доминирование", создайте ярлык, содержащий команду: "C:Program FilesXMicrosoft
OfficeOfficelOMSACCESS.EXE" "\GameServerDominationDominationGameServer.mdb"
/wrkgrp "\GameServerDominationDomination.mdw" А чтобы
использовать базу данных клиента приложения "Игра в доминирование", создайте
ярлык, содержащий команду:"C:Program FilesXMicrosoft OfficeOfficel0MSACCESS.EXE"
"\GameServerDominationDominationGamePlayer.mdb" /wrkgrp
"\GameServerDominationDomination.mdw" Только укажите в
этих командах реальные полные имена файлов. (О
подключении файла рабочей группы рассказано в разделе "Создание и подключение
файла рабочей группы" в гл. 16.) Для игры
необходимо выбрать пользователя, который будет выполнять роль ведущего игры.
Этот пользователь должен открыть базу данных DominationGameServer.mdb и
зарегистрироваться с именем Флинт и паролем пиастры. Для использования сервера
игры необходимо с помощью команды Сервис, Служебные программы, Диспетчер
связанных таблиц (Tools, Database Utilities, Linked Table Manager)
установить связь с таблицами, хранящимися в файле объектов данных DominationGame.mdb. Чтобы начать
игру, ведущий должен нажать кнопку Начать игру в форме
"Сервер". Чтобы принять
участие в игре в качестве игрока, нужно открыть базу данных
DominationGamePlayer.mdb и зарегистрироваться с использованием учетной записи
игрока, например с именем Джим без пароля. Параметры защиты приложения "Игра в
доминирование" Приложение "Игра
в доминирование" имеет систему защиты на уровне пользователя объектов базы
данных, но программный проект (модули VBA) незащищен и может быть просмотрен
любым пользователем. В файл рабочей
группы Domination.mdw, созданный для "Игры в доминирование", были добавлены
учетные записи пользователей, перечисленные в табл. П2.1. Таблица
П2.1. Пользователи приложения "Игра в
доминирование"
Пользователи
приложения "Игра в доминирование" делятся на две категории:
Замечание
Вообще говоря,
можно было бы выделить отдельную группу пользователей — администраторов баз
данных клиента и сервера, а группе ведущих игру назначить более ограниченные
права. Однако в этом нет необходимости, и в нашей реализации ведущие игры
являются также администраторами приложения. Таблица
П2.2. Права доступа к основным объектам сервера "Игры в
доминирование" для группы Users
Таблица
П2.3. Права доступа к основным объектам клиента "Игры в
доминирование" для группы Users
Рубрика: Учебник по Access 2002
HTML 5: пять вещей вызывающих особый интер....
HTML 5 — это грядущее обновление гипертекстового языка разметки, основного способа создания контента для размещения его во всемирной паутине. Разработка HTML остановилась в 1999 году, на версии HTML 4.01 и с тех пор web-содержимое изменилось так, что текущие спецификации HTML перестали соответствовать сегодняшним требованиям. HTML 5 нацелен на то, чтобы увеличить функциональную совместимость HTML и соответствовать растущим требованиям разнообразного и смешанного web-контента. HTML 5 так же нацелен на устранение недостатков четвертой версии. В этой статье мы взглянем на 5 новых интересных вещей в HTML 5.
Подробнее... |
Рубрика: Html
| Добавлено: 22.12.2008
asp.net: ListView с разных сторон.
Элемент управления ListView был представлен в .Net Framework 3.5 как замена устаревшему GridView. Новый элемент имеет более расширенный функционал, чем его предшественник, но в тоже время лишен некоторых внутренних механизмов, что впрочем целиком следствие из расширенной универсальности ListView. Среди отличий ListView и GridView можно назвать и гибкую настройку разметки, что позволяет выводить данные не только в табличном виде, но и вообще в любом каком пожелает программист. Благодаря шаблонам ItemTemplate, EditItemTemplate, InsertItemTeplate можно настроить внешний вид при любом из состояний ListView: редактировании или выборе элемента.
Подробнее... |
Рубрика: .NET компоненты
| Добавлено: 22.12.2008
Создание кросс-таб отчета в Stimulsoft Rep....
Компания Стимулсофт предоставляет для разработчиков мощный набор инструментов для создания отчетов для Microsoft Visual Studio .Net 2005 и 2008; эти инструменты доступны как для Windows Forms, так и для Web Forms. Это генератор отчетов Stimulsoft Reports.Net. Генератор отчетов Stimulsoft Reports.Net имеет ряд особенностей: простая работа с дизайнером отчетов, полная поддержка экспорта в PDF, Word, Excel и многие другие форматы. Crystal Report и Microsoft Reporting Service – очень хорошие программные продукты для повседневной работы, но, если Вам необходимо создать отчеты с поддержкой кросс-табов, drill down, Ajax, штрих-кодов и возможностью подключения одновременно более одного источника данных, то Stimulsoft Reports.Net поможет Вам сэкономить массу времени. Также, данный генератор отчетов позволяет пользователям создавать свои собственные отчеты любой сложности. И все эти особенности делают Stimulsoft Reports.Net хорошим выбором в сфере программных продуктов для Business Intelligence.
Подробнее... |
Рубрика: .NET компоненты
| Добавлено: 22.12.2008
Остальные статьи: |
Цитата дня (все,добавить):
|
Realcoding.NET
© 2003-2008 |
Контакты |
Реклама на сайте
|