Giter Club home page Giter Club logo

card-war-game's Introduction

Card War Game

Ссылка на Схему базы данных

Ссылка на статические данные для наполнения таблиц в нашей базе данных

Ссылка на Project Management app

Технологии:

BE


FE


Краткое описание проекта:

===========================

Упрощенная 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)

- "Список Карт текущего игрока(список карт противника не показываем)" (tables Сard and Card_Product возможно еще что-то)

Страница достижений. Таблица в которой отображаются все Ачивки набраные в играх всех игроков упорядоченая по убыванию достижений. (edited)

Краткая справка по таблицам

============================

User - таблица в которой сохранены все зарегистрированые в игре пользователи

Account - эта таблица содержит записи один к одному с юзером, как только зарегистрировался новый пользователь для него автоматом созается один постоянный аккаунт, также в этой таблице находится ссылка на текущую комнату в которой находиться игрок.

Room - таблица в которой хранятся все комнаты - комныты нужны чтобы обьединять пары игроков для проведения игр.

Message - таблица в которой хранятся все сообщения которые создаются игроками в чате

Building - таблица в которой хранится статическая информация о здании - название и описание (билдинги позволяют производить ресурсы - больше билдингов больше ресурсов)

Account_Building - таблица котороя отображает сколько билдингов пользователь уже нажил в течении одной игры, обнуляется на старте игры

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

Resource - таблица в которой хранится статическая информация о ресурсе - название и описание (ресурсы это основные элементы количество которых надо накапливаь в игре)

Account_Resource - отображает сколько пользователь заработал в текущей игре ресурсов - таблица постоянно обновляется так как здания потребляют и производят ресурсы каждую минуту динамически, обнуляется на старте игры

Upgrade - таблица в которой хранится статическая информация об апгрейде - название и описание (апгрейды улучшают производство зданий на N процентов)

Account_Upgrade - отображает какие апргрейды игрок приобрел в течении игры - эти апгрейды в свою очередь влияют на количество ресурсов произведенных зданиями в зависимости от указаных процентов, обнуляется на старте игры

Upgrade_Building - отображает все необходимые связи указывая у каких зданий производство ресурсов улучшается на какой процент

Achievement - таблица в которой хранится статическая информация о ачивменте - название и описание (просто награды типа звезд и медалей за достижения)

Account_Achievement - отображает все достижения сделаные пользователем за все игры которые он когда либо сиграл - нужна для показания успеха игрока и сравнения с успехами других в одной теблице в фигишном UI на фронтенде, таблица обнуляется только когда создается аккаунт и новый пользователь

Trigger_Achievement - условия при достижении которыйх зачисляется ачивка на ваш аккаунт

Notification - таблица в которой хранится статическая информация о нотификейшене - название и описание (нужна для придания игре динамики по смыслу тоже самое что и ачивменты)

Account_Notification - таблица содержит список показанных и не показанных текстовых сообщений, таблица обнуляется при старте игры

Trigger_Notification - условия при достижении которых вам будет доступно текстовое сообщение, если был сделан реквест на получение доступных сообщений то все сообщени помечаются как прочитаные и не показываются при следующем реквесте

Card - таблица в которой хранится статическая информация о картах - название и описание (основная еденица управления процессом игры)

Card_Impact - самая сложная таблица в которой хранится информация о том сколько карта тратит ресурсов а также на какте здания и апгрейды влияет - причем карта может влиять не только на твои задния ресурсы и апгрейды но и на вражеские

Card_Group - таблица в которой хранится список групп на которые деляться карты. Например некоторые возможные названия групп: 'Покупка зданий', 'Покупка ресурсов', 'Атакова противника', 'Апгрейд зданий'

card-war-game's People

Contributors

rubfan avatar buger-od-ua avatar kalibus22 avatar andrewchern avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.