Giter VIP home page Giter VIP logo

matmex_quest's Introduction

Matmex_Quest

Авторы: Гордиенко Артем и Айдарцян Гриша

Описание:

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

Управление:

  • W, A, S, D - перемещение
  • E - кнопка взаимодействия с коружающим миром
  • Левая кнопка мыши - сбор предметов

Подробности реализации

Все модели игры находятся в папке Domain. Также есть модульные тесты, покрывающие на данный момент 97 % кода. Описание моделей:

  • Door - двери в нашем мире, и их привязка к комнатам. Также содержит состояния Open и Close.
  • Human - персонажи, которые дают квест, а именно их локацию, состояние (готов дать квест, не готов дать квест, ждет когда мы выполним квест) и список предметов, которые они от нас ожидают
  • Inventory - инвентарь игрока, который содержит в себе предметы, собранные игроком. Мы можем класть вещи в инвентарь и брать их из него. Может стакать предметы.
  • Item - предмет, который можно отдать или взять. Описывается своей локацией, типом (objectID), размерами и привязкой к определенному квесту (missionID).
  • Player - персонаж, которым управляет игрок. Имеет несколько состояний (жив, мертв) и умеет передвигаться.
  • Room - комнаты, содержащие в себе персонажей, дающих квесты и предметы, которые можно собрать.
  • World - игровой мир (корридор матмеха), в котором хранятся двери, которые указывают нам на комнаты, люди и предметы.

В проекте TESTS хранятся все тесты. В кодовом файле TestGame происходит иммитация игрового процесса со всеми доступными действиями.

Прототип в FIGMA

Ссылка - https://www.figma.com/file/Nm0vIfTQc31YHxviMSflY2/MaxMet-QUEST?node-id=0%3A1

matmex_quest's People

Contributors

chkaff avatar aydartsyangrisha avatar

Watchers

 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.