Разработка автоматизированной системы проведения соревнований игрового типа с реализацией управляющего модуля

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



?я ctNonBlocking - асинхронная передача данных, т.е. посылать и принимать данные по сокету можно с помощью OnRead и OnWrite. ctBlocking - синхронная (одновременная) передача данных. События OnRead и OnWrite не работают. Этот тип соединения полезен для организации обмена данными с помощью потоков (т.е. работа с сокетом как с файлом) [4].

При соединении с сервером управляющая программа получает список текущих игр и отображает их, указывая наименование игры, название комнаты, текущий этап и статус игры. Данное состояние изображено на рисунке 2.3.

При выборе строчки с игрой в нижнем окне отображаются игроки данной игры с указанием этапа, на котором они находятся и состояния игрока. У игроков могут быть состояния: Играет, Закончил этап, Закончил игру, Вышел из игры, Запрос новой игры, Запрос продолжения, Допущен к игре . Если в игре отсутствуют игроки, то она имеет статус Нет игроков. Так же у игры могут быть статусы: Все игроки допущены к игре, Играется, Закончен этап, Запрос доступа, Игра закончена, Не все игроки подключены. Кнопка Начать/Продолжить служит для старта игры, для перехода игры на следующий этап или для продолжения игры, в зависимости от ее состояния. Кнопка Остановить игру служит для установки паузы в игре по каким-либо причинам. При этом время на выполнение этапа у каждого игрока игры останавливается.

Рисунок 2.3 - Окно при старте программы

При запросе от клиента на вход в игру, информация об этом записывается в базе данных и отображается в управляющей программе. При выборе такого игрока в нижнем окне появляется возможность разрешить либо запретить ему доступ к игре. Есть возможность удалить игрока из игры, если он не успел ответить на этап, либо нарушил правила игры. Такое состояние изображено на рисунке 2.4.

При выборе игрока, запрашивающего доступ, становятся активными кнопки Разрешить и Запретить, позволяющие разрешить и запретить доступ соответственно. Такое состояние изображено на рисунке 2.5.

После того, как всем игрокам далось разрешение на участие в игре, кнопки Начать/Продолжить и Закончить игру становятся активными. Такое состояние изображено на рисунке 2.6.

По нажатию кнопки Начать/Продолжить начинается игра, и задания на этап рассылаются всем игрокам. В любой момент игру можно закончить или остановить по каким-то причинам. Все состояния игроков на момент паузы в игре сохраняются в базе данных. Такое состояние изображено на рисунке 2.7.

При вылете одного или нескольких игроков игра ставится на паузу и ожидается повторное подключение вылетевших игроков. Как только все игроки вновь подключились, игра может быть продолжена по нажатию кнопки Начать/Продолжить.

При завершении всеми игроками этапа игры, отображаются соответствующие состояния, и по нажатию на кнопку Начать/Продолжить происходит переход игры на следующий этап с рассылкой задания всем игрокам. Такое состояние изображено на рисунке 2.8.

После окончания игры информация об игре и ее игроках хранится в базе данных и отображается в программе.

Рисунок 2.4 - Запрос на игру

Рисунок 2.5 - Управление игроком

В программе имеется возможность создавать новые игры по имеющимся шаблонам игр. Для этого существует вкладка Создание новой игры, на которой расположен список имеющихся шаблонов игр и поле для ввода желаемого названия комнаты. По нажатию кнопки Создать игру в базу данных попадает информация о новой созданной игре и отображается на вкладке Управление играми. Такое состояние изображено на рисунке 2.9.

В случае восстановления связи после обрыва с сервером, все имеющиеся состояния на момент обрыва заново воспроизводятся в программе, что позволяет поддерживать работу автоматизированной системы проведения соревнований. При потере связи с сервером программа автоматически пытается восстановить связь через каждые 3 секунды. При восстановлении связи вся информация о играх и игроках моментально отображается в программе.

Рисунок 2.6 - Перед стартом игры

Рисунок 2.7 - Ход игры

Рисунок 2.8 - Переход на следующий этап

Рисунок 2.9 - Создание новой игры

3. Экономическая часть

Целью работы является разработка автоматизированной системы проведения соревнований игрового типа с реализацией управляющего модуля. Данный проект разработан с использованием среды программирования Delphi.

В данной части дипломного проекта рассматриваются:

проектные затраты, включающие в себя затраты времени, оплаты труда участников дипломного проекта, затраты на материал, энергетические затраты;

затраты на внедрение и эксплуатацию создаваемой системы;

расчет эффективности созданной системы.

В дипломном проекте рассматривается управляющая часть автоматизированной системы проведения соревнований, целью экономической части данного проекта является расчет показателей экономической эффективности разработки сервиса. План предстоящих работ представлен в таблице 3.1.

Таблица 3.1 - План предстоящих работ

Наименование этапаСрок исполнения, днейИсполнительКоэф. загрузки1 Постановка задачи2руководитель проекта0,9инженер-разработчик0,12 Обзор и анализ литературы по выбранной теме5руководитель проекта0,1инженер-разработчик0,93 Составление плана работы3руководитель проекта0,8инженер-разраб