Ссылка на статические данные для наполнения таблиц в нашей базе данных
Ссылка на Project Management app
Ссылка на Project CI(Continues Integration)
- Maven
- JUnit
- Hamcrest
- OkHttp
- MySql
- h2
- JDBC
- SQL
- REST
- Jetty (Web server and javax.servlet container)
- Jersey (JAX-RS)
===========================
Упрощенная RTS игра в которую можно играть вдвоем по сети.
Остовные правила:
Используя карты нужно достичь максимального показателя определенного ресурса(например Власти) или добиться нулевого показателя этого ресурса у противника.
Карты являются единственной возможностью управлять процессом игры и они могут влиять(плюсовать и минусовать) на "Ресурсы" "Здания" и "Апгрейды" собственные и противника.
Чтобы сделать любой экшен(действие) в игре например: купить здание, проапгрейдить здание, пополнить ресурс, нанести удар по зданиям апгрейдам или ресурсам противника, обменять один ресурс на другой и т.д. нужно применять доступные карты.
Эти или какие либо иные придуманые экшены будут реализовываться по средствам описания действия той или иной карты.
Применение карты выражается в плюсовании или минусовании набраных Ресурсов Зданий и Апгрейдов в таблицах - Account_Building, Account_Resource, Account_Upgrade.
В списке карт каждая карта может появиться тогда когда для нее есть все ее требуемые "Ресурсы" "Здания" и "Апгрейды".
После использования карты мы создаем запрос в REST API нашего серверсайда и вычитаем все расходники из таблиц:
Account_Building, Account_Resource, Account_Upgrade, для себя и для противника.
===========================
Игра состоит из 4-х html страниц(с которых будут делаться все наши запросы в наш REST сервис с использованием JavaScript+Ajax+Json):
Станица Login-а или Create new User.
Страница списка всех доступных игровых комнат (Room-ов) в которых можно играть, каждый элемент списка состоит из "номер комнаты", "названия комнаты", "количесво игроков в комнате". и кнопки:
"Join Room" - если в выбраной комнате есть один игрок то сразу начать игру, если вы в комнате один то занять место в ожидании когда прийдет другой игрок и стартанет игру.
Страница где и происходит сам бой между игроками куда мы попадаем после старта игры. Состоит из следующих компонентов:
- "Список Построеных Зданий" (table Building and Account_Building)
- "Список Полученых Ресурсов" (table Resource and Account_Resource)
- "Список Полученых Апгрейдов" (table Upgrade and Account_Upgrade)
- "Список Построеных Зданий Противника" (table Building and Account_Building)
- "Список Полученых Ресурсов Противника" (table Resource and Account_Resource)
- "Список полученых Апгрейдов Противника" (table Upgrade and Account_Upgrade)
- "Список Карт текущего игрока(список карт противника не показываем)" (table Сard and CardGroup)
Страница достижений. Таблица в которой отображаются все Ачивки набраные в играх всех игроков упорядоченая по убыванию достижений. (edited)
============================
User - таблица в которой сохранены все зарегистрированые в игре пользователи
Room - таблица в которой хранятся все комнаты.
Account_Room - таблица в которой хранятся айди комнат и айди двух аккаунтов чтобы обьединять пары игроков для проведения игр.
Message - таблица в которой хранятся все сообщения которые создаются игроками в чате
Building - таблица в которой хранится статическая информация о здании - название и описание (билдинги позволяют производить ресурсы - больше билдингов больше ресурсов)
Account_Building - таблица котороя отображает сколько билдингов пользователь уже нажил в течении одной игры, обнуляется на старте игры
Resource - таблица в которой хранится статическая информация о ресурсе - название и описание (ресурсы это основные элементы количество которых надо накапливаь в игре)
Account_Resource - отображает сколько пользователь заработал в текущей игре ресурсов - таблица постоянно обновляется так как здания потребляют и производят ресурсы каждую минуту динамически, обнуляется на старте игры
Upgrade - таблица в которой хранится статическая информация об апгрейде - название и описание (апгрейды улучшают производство зданий на N процентов)
Account_Upgrade - отображает какие апргрейды игрок приобрел в течении игры - эти апгрейды в свою очередь влияют на количество ресурсов произведенных зданиями в зависимости от указаных процентов, обнуляется на старте игры
Achievement - таблица в которой хранится статическая информация о ачивменте - название и описание (просто награды типа звезд и медалей за достижения)
Account_Achievement - отображает все достижения сделаные пользователем за все игры которые он когда либо сиграл - нужна для показания успеха игрока и сравнения с успехами других в одной теблице в фигишном UI на фронтенде, таблица обнуляется только когда создается новый пользователь
Notification - таблица в которой хранится статическая информация о нотификейшене - название и описание (нужна для придания игре динамики по смыслу тоже самое что и ачивменты)
Account_Notification - отображает все возможные сообщения в игре - нужны для отображения прогресса игрока когда он достиг определеного количества задний, ресурсов или апгрейдов
Card - таблица в которой хранится статическая информация о картах - название и описание (основная еденица управления процессом игры)
Card_Group - таблица в которой хранится список групп на которые деляться карты. Например некоторые возможные названия групп: 'Покупка зданий', 'Покупка ресурсов', 'Атакова противника', 'Апгрейд зданий'
Resource_Set - наборы ресурсов обьедененых одним айдишником set_id (этот айдишник одинаковый у всех кто в наборе)
Building_Set - наборы зданий обьедененых одним айдишником set_id (этот айдишник одинаковый у всех кто в наборе)
Upgrade_Set - наборы апгрейдов обьедененых одним айдишником set_id (этот айдишник одинаковый у всех кто в наборе)