Проекты - paintballno.ru-vkontakte - Документация
Материал из AOW
Содержание |
Среда и условия разработки
Приложение собрано с помощью Adobe Flash Builder. Используемый SDK при публикации релизной версии (swf) - 4.1. Язык разработки ActionScript 3.0 расширеной Flex. Схема данных представляет собой MVC. Корневой контейнер Paintball.mxml Приложение представляет собой Flash-клиент, запускаемый с помощью браузера.
Для диагностики и анализа работы основного приложения существует отдельное приложение Service, корневой исполняемый контейнер называется Service.mxml. Это приложение загружает лог работы основного и отражает в своем интерфейсе.
Строеиние относительно расположения
Проект paintballno.ru-vkontakte (PVK) состоит из 3 функциональных составляющих:
Приложение
Скомпилированое приложение может находится размещенным в Приложения Вконтакте, либо запускаться локально с физического носителя.
Сервер VK
На сервере VK размещаются данные для идентификации пользователя при загрузке приложения. Работа с VK может проходить в 3 режимах:
- боевой (основной, http://vkontakte.ru/paintballwars);
- тестовый VK (http://vkontakte.ru/app2176088);
- тестовый локальный (загружается с локального размещения при наличии и корректно настроенного файла конфигурации src\data.txt);
Регулирование тестового/боевого режима для вызова приложения из VK производится комментированием строк в файле src\service\network\vkontakte\Vkontakte.as с комментарными подписями "Тестовый" и "Боевой". Регулирование локального/удаленного(VK) режима: если приложение находит файл src\data.txt, то пробует загружать параметры идентификации из него, однако в браузере, где проводится запуск локального режима, должна быть авторизирована страница с данными, соответствующими src\data.txt.
Игровой сервер Paintball
На нем хранится база данных игроков, их характеристик, коэфициенты игрового процесса, загружаемые графические swf элементы - локации, интерфейс, представления фигурок юнитов, их оружия, амуниции и пр, а также их анимации. Существует боевой (http://pb.yela.ru) и тестовый (http://paintballno.artofweb.ru) игровые сервера. Настройка целевого производится в файле src\service\initialization\InitializationAppParams.as в методе execute() .
Взаимодействие серверов и приложения
Сервер VK
Методы взаимодействия с сервером VK описаны в пакете src\service\network\vkontakte. Работает по схеме запрос-ответ. Данные запроса формируются в строку в соответствии с протоколом VK для внешних приложений и отправляются на сервер VK методом post. Методы работы для запросов описаны в API VK на сайте Вконтакта.
Игровой сервер
Методы взаимодействия с игровым сервером находятся в пакете src\service\network\gameserver. Схема работы также основывается на логике "запрос-ответ". Виды запросов и их предпологаемые ответы находятся по адресу [1].
Работа приложения
Модели данных
Главная модель данных - CoreModel (src\service\model\implementation\coremodel). На ее основе формируются остальные модели - команды, игрока, школы, магазина и пр, которые размещаются в соотв. пакетах директории src\service\model\implementation.
Пример разработки
Добавление функции реинкарнации
Задача Добавить функцию реинкарнации: по нажатию кнопки на и-фейсе все параметры игрока скидываются по нулям, кроме:
- карма остаётся
- монеты, столько же сколько на старте игры
Реинкарнация возможна только единожды. Возможность и стоимость реинкарнации изменяется в зависимости от текущего уровня игрока. Также при реинкарнации предусмотрена возможность увеличения одной из характеристики команды игрока - ловкость, точность или выносливость - на 5%.
Входные данные На сервере хранятся запросы:
- player/getReincarnationCost - возвращает массив расценок и уровней возможности реинкарнации в формате <С_Уровня:По_Уровень:Цена:Еденицы>
- player/reincarnation - Запускается с параметром, где указвается вид хар-ки, которую нужно прокачать - Осуществляет действие реинкарнации (изменение в базе данных игрока его характеристик, отнимает от указаных единиц стоимость произведенной реинкарнации)

