Обеспечение всемирной трансляции спортивных шахматных соревнований с применением разработанного в ходе проекта законченного программного продукта
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
слятор шахматных партий
В общем виде транслятор шахматных партий (ТШП) представляет собой следующие структуры:
- модели данных (models);
- представления (views);
- контроллеры (controllers);
- помощники (helpers).
Модели данных содержат объектные представления, задачи в виде классов бизнес-логики. Здесь описываются классы, к которым будут отнесены реальные данные. Бизнес-логика управляется одноименным контроллером, например, класс Cities (города) управляется одноименным контроллером cities_controller.rb. Модель может иметь одно или несколько представлений, которые отвечают за то, в каком виде будут отображаться данные. Помимо контроллеров всех классов существует главный контроллер main_controller.rb (в качестве главного может быть назначен любой контроллер). Он выполняет все функции по обслуживанию шахматного интернет-портала:
- отображение главной веб-страницы;
- возврат к предыдущей веб-странице;
- показ партий в режиме реального времени (online) и архива турнирных партий (offline);
- авторизация пользователей;
- вход в личный кабинет пользователя;
- напоминание при потере пароля или логина;
- показ трансляции;
- выгрузка шахматных партий в формате pgn (portable game notation);
- выход пользователя;
- интерфейс регистрации и т.д.
Снимки экрана (Screenshots) главной страницы rDGT-сервера, страницы авторизации пользователя, страницы просмотра текущих online трансляций и страницы просмотра шахматных партий представлены в приложении 5.
Скрипт трансляции шахматной партии реализован на языке Javascript. Обновление позиции осуществляется через асинхронные javascript-запросы к rDGT-серверу при использовании технологии Ajax без обновления всей страницы.
Клиентское приложение, содержит все необходимые функции, обеспечивающие корректную трансляцию шахматных партий. Оно создает отображение шахматной доски, фигур, времени часов, отображает динамику изменения позиции в соответствии с поступающими от rDGT-сервера данными, позволяет пользователю просматривать текущие партии, осуществлять навигацию по последовательности ходов в любом порядке.
Веб-интерфейс реализован на платформе Ruby on Rails, в соответствии с идеологией изложенной в разделе 2.4 . Портал можно разделить на несколько узловых разделов:
- Раздел трансляций партий (online режим).
- Раздел просмотра партий, сохраненных на сервере (offline режим).
- Раздел редактирования данных портала, подразумевает авторизацию пользователя, которому доступны:
- добавление, удаление, изменение турниров;
- добавление, удаление, изменение игроков;
- добавление, удаление, изменение трансляций;
- добавление, удаление, изменение данных различных справочников (регламент проведения турнира, часовые регламенты, страны, города).
Общая структура транслятора шахматных партий, все атрибуты и методы его структурных элементов представлены в приложении 7
2.5.2 Регистратор шахматных партий
Алгоритм работы:
Пользователь в веб-интерфейсе формирует трансляцию партий, при этом он указывает следующие параметры:
- Название последовательного порта (serial port), к которому подключены доски, с которых будет происходить трансляция шахматных партий (COM1, COM2 и т.п. для операционной системы Windows и /dev/ttyS0, /dev/ttyS1 для операционной системы Linux).
- Время начала трансляции.
- Для каждой доски указывается игрок, играющий белым цветом, и игрок, играющий черным цветом.
- Ассоциирует данную трансляцию с заранее заданным турниром.
Веб-сервер после составления заявки на трансляцию партий, запускает приложение jgdtnix, параметризуя его введенными параметрами. Jgdtnix до назначенного времени переходит в спящий режим, а за несколько минут до начала трансляции jgdtnix начинает опрашивать порт на наличие доступных досок и регистрирует их. Во время трансляции jgdtnix с определенной периодичностью опрашивает порт, получает обновления позиции и данные с шахматных часов, и заносит ходы в базу данных.
Общая структура регистратора шахматных партий, все атрибуты и методы его структурных элементов представлены в приложении 8.
2.6 Тестовые испытания и анализ результатов
Тестовые испытания проводились в помещении СП ШК в сроки с 5 июня по 11 июня 2008 года на Чемпионате области по шахматам среди юношей до 12 лет. Количество используемых в испытаниях ЭШД и электронных шахматных часов 5 штук,. Трансляция соревновательного процесса осуществлялась в течение всего указанного срока с 11:00 до 15:00, что соответствует длительности игрового дня. Схема подключения ЭШД и электронных шахматных часов аналогична рисунку 3 пункта Обзор шахматных систем-прототипов с той лишь разницей, что трансляция шахматных партий осуществлялась не только для присутствующей аудитории, но и в сети Интернет.
Анализ результатов тестовых испытаний представлен в приложении 9.
В качестве сравнительного показателя используется общее число шахматных ходов, сделанных на всех досках в течение всего соревновательного процесса. Так как число игровых дней 7, число учитываемых досок 5, а среднее число ходов в шахматной партии 30, то общее число шахматных ходов равно равно 1050.
- Технико-экономическое обоснование проекта
- Целесообразность и область применения разработки
В данном технико-экономическом обосновании рассматривается специализированное шахматное программное обеспечение, разработанное для автоматизации дея