2.3. Инфологическая модель
Зададим каждую сущность в базе данных набором атрибутов:
Игрок:
Код игрока
Имя игрока
пароль,
статус «онлайн»
код восстановления пароля
Игровые комнаты:
Код комнаты
Название
Код игрока создавшего игру
Код второго игрока
Последний совершенный ход
История совершенных ходов
Код игрока выигравшего партию
Статус комнаты
Cтатистика
Код статистики
Код игрока
Счетчик побед
Счетчик поражений
Счетчик незавершенных партий
Чат
Код сообщения
Код игрока
Код комнаты
сообщение
Разработка базы данных
3.1. Общее описание
В БД использовано 4 таблицы, которые связаны между собой.
Разработка приложения
4.1. Руководство программиста
Приложение реализовано в среде разработки FlashDevelop 4.5 на языке ActionScript 3.0. Графический интерфейс реализован с использование сторонних библиотек интерфейса youset.ru и minimalcomps.com. В качестве системы управления базами данных использовался Mysql.
4.2. Руководство администратора
В качестве системы управления базами данных можно использовать phpMyAdmin или HeidiSQL.
4.3. Руководство пользователя
Вход в систему.
Данное окно предоставляет возможность авторизоваться, восстановить пароль или же зарегистрироваться в системе для дальнейшей работы.
После авторизации игроку выводится список всех игровых комнат доступных на данный момент. Каждая комната имеет свой статус:
Waiting – ожидание соперника для начала игры.
Playing – статус комнаты в момент игры.
Finished – статус комнаты после завершения игры.
В верхней панели реализован интерфейс создания новой игры, для этого достаточно ввести название комнаты, и выбрать цвет фигур, и нажать кнопку «create room».
Для подключения к уже существующей комнате необходимо выбрать её из списка, после чего данные о комнате отразятся в правой нижней панели, и затем нажать на кнопку «Join». Если в комнате не осталось свободных слотов, программа сообщит об этом пользователю.
Как при создании комнаты, так и при подключении к уже существующей, для начала игры необходимо, чтобы оба игрока были в сети. Если один из игроков вышел из сети, программа сообщит об этом пользователю в поле имени второго игрока и остановит игру правой панели. Если же игра была только что создана, то партия начнется сразу же после подключения соперника, в ином случае происходит ожидание подключения.
Ходы в игре осуществляются в соответствии с правилами «Русских шашек».
Игра происходит на темных клетках, шашки ходят по диагонали и только вперед, за исключением «дамки» (шашки достигшей самой крайней линии игровой доски). Разрешенные ходы подсвечиваются зеленым цветом, а шашки соперника чьё взятие возможно, красным цветом. В список правил входит условие «бить обязательно», т.е. при возможности взятия шашки соперника, взятие необходимо осуществить. При нескольких возможностях взятия, можно выбрать любой. Шашки могут бить как вперед, так и назад, при условии, что следующие за шашкой соперника по диагонали поле пустое. Шашки могут ходить вперед на одно поле по диагонали, если оно свободно.
«Дамка» может ходить на любое количество клеток вперед при условии, что они свободны, и если на диагонали встречается фигура игрока, «дамка» не может ходить через неё. В ином случае, если по диагонали встречается шашка соперника, и следующее поле за ней свободно, шашка обязана осуществить взятие.
Ход завершается в том случае, если у фигуры игрока нет возможности осуществить еще взятие, иначе игрок обязан осуществить взятие. При достижении шашкой крайней линии игровой доски, шашка становится «дамкой», если шашка стала дамкой после взятия фигуры противника, и есть возможность осуществить еще взятие, то она обязана это сделать. Перемещение фигур осуществляется простым перетаскиванием, если клетка, над которой остановился курсор мыши не входит в список разрешенных, происходит сброс на начальную позицию. Игрок не может начать ход шашками, кроме тех для которых возможно взятие , в случае существования такой ситуации. Фигуры, для которых необходимо осуществить взятие подсвечиваются красным.
Партия считается завершенной, если у одного игрока количество шашек равно 0, либо не осталось ходов при его очереди.
Все сообщения о необходимости хода, об остановке и возобновлении игры и т.д. выводится на экран по центру игровой зоны и статус боксе в правой панели, там же располагается интерфейс, с помощью которого можно выйти из комнаты, или же выгнать игрока из комнаты, при условии что это действие осуществляет создатель комнаты.
Также создано окно статистики, где видно количество побед, поражений и незаконченных игр по каждому игроку.
