Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Подключиться к игровому столу через группу↑ ⇐ ПредыдущаяСтр 2 из 2 Содержание книги
Поиск на нашем сайте
Цель: Загрузиться наодин игровой стол вместе с участниками группы. Сценарий: Игрок заходит в группу и ожидает, пока лидер группы не создаст игровой стол. Подключиться к игровому столу по параметрам Цель: Подключиться к игровому столу с нужными параметрами. Сценарий: Нажимаем кнопку «найти игру», выбираем нужные параметры и нажимаем кнопку «играть» Использовать чат Цель: Прочитать или отправить сообщение. Предусловие: Пользователь должен быть аутентифицирован и находиться в главном меню. Сценарий: Выбираем вкладку по сценарию «Сменить вкладку», выполняем сценарий «Прочитать сообщение» для прочтения сообщения и выполняем сценарий «Отправить сообщение» для отправки сообщения. Сменить вкладку Цель: Выбрать определенную вкладку чата. Сценарий: В окне чата выбрать нужную вкладку. Прочитать сообщение Цель: Прочитать сообщение. Предусловие: Пользователь должен находится в нужной вкладке. Сценарий: Прокручиваем окно чата до нужного сообщения и читаем это сообщение. Отправить сообщение Цель: Отправить сообщение. Предусловие: Пользователь должен находится в нужной вкладке. Сценарий: В поле для ввода текста набираем сообщение с клавиатуры и нажимаем кнопку «Отправить». В чате появляется, отправленное им сообщение. Создать вкладку Цель: Создать новую вкладку. Сценарий: Если пользователь хочет создать чат с конкретным пользователем, то он находит этого пользователя и сообщает ему о том, что хочет создать с ним чат, нажав кнопку «шепнуть». Создается вкладка с чатом этого пользователем. Альтернативный сценарий: Если пользователь хочет общаться с группой, то он вступает в эту группу и появляется вкладка с групповым чатом. Использовать систему «группа» Цель: Перегруппироваться. Предусловие: Пользователь должен быть аутентифицирован и находиться в главном меню. Сценарий: Выполняем нужный сценарий из ниже перечисленных. Пригласить Цель: Пригласить пользователя в группу. Предусловие: Если пользователь в группе, то пользователь должен быть лидером группы и в группе не должно быть приглашаемого пользователя. Сценарий: В поле «пригласить друга» набрать nick пользователя и нажать кнопку «Пригласить» Распустить Цель: Распустить группу. Предусловие: Пользователь должен быть лидером группы. Сценарий: Нажать кнопку «Распустить группу»
Исключить из группы Цель: Исключить из группы. Предусловие: Пользователь должен быть лидером группы. Сценарий: Нажать кнопку «Исключить» напротив нужного игрока. Выйти из группы Цель: Выйти из группы. Предусловие: Пользователь должен находиться в группе. Сценарий: Нажать кнопку «Покинуть группу». Зайти в группу Цель: Зайти в группу. Предусловие: Пользователь должен получить приглашение. Сценарий: Нажать кнопку «Принять». Альтернативный Сценарий1: Нажать кнопку «Отклонить». Просмотреть игровую статистику Предусловие: Пользователь должен быть аутентифицирован и находиться в главном меню. Просмотреть рейтинг Honor Цель: Посмотреть Honor учетной записи. Сценарий: Пользователь нажимает кнопку «Honor» и в поле ввода текста вводит nick нужного пользователя. Альтернативный Сценарий1: Свои очки Honor находятся в главном меню. 3.2.5 Функциональные требования для роли Игрок Играть Цель: Победить. Предусловие: Пользователь должен находиться на игровом столе. Сценарий: Атакуем и защищаем. Если потеряны все Unit, то поражение. Если захватили все вражеские Unit, то победа. Защищать Цель: Сконцентрировать силы на Unit. Сценарий: Направляем свои Unit на союзный Unit. 3.2.6.2 Атаковать Цель: Захватить Unit. Сценарий: Направляем свои Unit на вражеский Unit. Если здоровье Unit меньше нуля, то Unit переходит к атаковавшему. 3.2.7 Просмотреть статистику сражения Цель: Посмотреть статистику. Предусловие: Пользователь должен находиться на игровом столе. Сценарий: Закончить игру.
3.3 Нефункциональные требования · Игровое поле вмещается на экран без скроллов · Чат должен занимать не более 1/3 экрана · Отзывчивый интерактивный интерфейс · Поддержка разрешений экрана 1. 1600х900 2. 800х600 3. 1280х720 · Платформа Windows c возможностью портировать на платформы Linux, IOS, Android, Mac OS X
Обзор архитектуры Описание архитектуры системы. Компонентная модель системы Система состоит из 4 сборок. Из 2 библиотек и 2 приложений. В первую очередь собирается “SimpleTeam Lib”. После “GameOne Lib”, который зависит от “SimpleTeam Lib”. И 2 приложения, которые зависят от этих библиотек. Непосредственно 2 приложения представляют клиент и сервер. SimpleTeam Lib Базовая библиотека. Подразумевается, что она задает общий контракт, общее поведение всей системы. В дальнейшем можно написать другую клиент-серверную игру на основе этой библиотеки. SimpleTeam.BinarySerialization Контракт бинарного сериализатора. Можно запаковать и распаковать сообщение (IMessage ó Packet). SimpleTeam.BinarySerialization.DotNet Базовая реализация сериализатора при помощи средств “.NET”. SimpleTeam.Command Контракт команд системы. Команда получает в качестве параметра реестр параметров (всех классов), с которыми можно будет общаться. Команда изначально знает с каким классом она хочет взаимодействовать и просит класс по его ID (interface ITypeID). Если реестр не дал класс, значит по какой либо причине класс недоступен или данной команде отказано в доступе. (Последнее будет написано позже) SimpleTeam.Command.Scenario Контракт исполнения команд. Существует очередь исполнения команд и исполнитель. Исполнитель является независимым потоком. Исполнитель узнает от главного потока обо всех командных очередях, обо всех классах с которыми эти команды будут общаться. Хранит в себе реестр всех параметров, что и реализует данный контракт. Предполагается, что класс с которым можно взаимодействовать, хранит в себе командную очередь, которую может пополнять. Исполнитель в свою очередь опустошает ее. Может и не хранить очередь, если он является «читателем». SimpleTeam.Main Контракт основного потока. Предполагается, что в системе есть главный поток, с которым можно будет при помощи команд общаться. Дает возможность выйти из программы, проводить различные операции со всеми запущенными потоками, так как он их и запускает. Позволяет администрировать всю систему. На данной стадии реализован только выход. SimpleTeam.Message Протокол сообщений, при помощи сообщений клиент и сервер общаются. Каждый тип сообщения хранит в себе ID (interface ITypeID). В сообщении лежит список рассылки пользователей. Это означает, что внутренняя система всегда знает, от какого пользователя пришло сообщение. А интернет протокол всегда знает кому отправить это сообщение. SimpleTeam.Network Сетевой протокол, обертка над TCP протокол. TCP поток скрывается NetworkParser, поднимая на уровень пакетов. NetworkUserProtocol общается с NetworkParser, поднимая на уровень User. SimpleTeam.SystemBase Общие системные контракты. Паттерн машины состояний работающей на отдельном потоке, протокол ITypeID типов классов. SimpleTeam.User Сетевая и внутри игровая информация о пользователе. В дальнейшем будет переделан User протокол. Не сетевая информация должна находиться не в базовой библиотеке.
GameOne Lib Библиотека конкретной игры. Реализация контрактов SimpleTeam Lib. SimpleTeam.GameOne.BinarySerialization Сериализатор для данной игры. Сериализует конкретные IMessage, экономит память. SimpleTeam.GameOne.Command Конкретные команды и параметры для игры. Реализация общения классов. SimpleTeam.GameOne.GameInfo Информация о всех игровых объектах, которые требуется передавать по сети. SimpleTeam.GameOne.Message Полная реализация протокола сообщений. SimpleTeam.GameOne.Message.Manager Обертка между сетевым протоколом и ScenarioMachine. Позволяет сообщениям пришедшим с интернета найти команду и хранит все сообщения, которые требуется отправить в интернет. (В дальнейшем перейдет в базовую библиотеку). SimpleTeam.GameOne.Scene Определяет контракт сцен, с которыми можно при помощи команд взаимодействовать. GameOne Client Клиент игры. SimpleTeam.GameOne.Main Запуск приложения и ее поддержка. Реализация IMain из SimpleTeam Lib. SimpleTeam.GameOne.Message Контейнер сообщений для сцен. Хранит сообщения, пришедшие в сцену. SimpleTeam.GameOne.Network Реализация NetworkClientMachine. Полное поведение сетевого протокола со стороны клиента. SimpleTeam.GameOne.Scene По сути своей полная графическая система игры. Обработка всех пользовательских вводов. Отображение состояния приложения на экран. (Система не готова)
GameOne Server Сервер игры. SimpleTeam.GameOne.Data База данных. Данные игроков, возможно состояние сервера и его логгирование. SimpleTeam.GameOne.Main Запуск приложения и ее поддержка. Реализация IMain из SimpleTeam Lib. SimpleTeam.GameOne.Network Реализация NetworkServerMachine. Полное поведение сетевого протокола со стороны сервера. SimpleTeam.GameOne.Scene Полная обработка логики игры со стороны сервера. (Система не готова)
|
||||
Последнее изменение этой страницы: 2016-08-10; просмотров: 215; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.143.237.54 (0.008 с.) |