Skip to content

signmotion/hidden-object

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Каркас для игры вида Hidden Objects. C++.

Архитектура

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

  2. Модуль работы с БД. Данный модуль используется для хранения данных об энергии, которая тратится на каждое прохождение комнаты, данные о временных рекордах, время последнего запуска игры. Используется SQLIte. Код для работы с долговременным хранилищем выделен в отдельный класс (Store), инкапсулирующий специфику использования БД и предоставляющий интерфейс для работы с данными игры.

  3. Модуль реализующий init, loop, release экранов игры (ScreenManager). В нашем случае - два игровых экрана: главный экран (HomeScene), на котором располагаются иконки комнат для прохождения и экран комнаты (RoomScene), в котором непосредственно проходит игра.

  4. Модуль, показывающий игровой UI поверх экранов, диалоги (DialogManager).

  5. Модуль, строящий комнаты по входному XML на заданном экране (Room).

  6. Справочные данные о размещении объектов в комнате и время, отведённое на исследование каждой комнаты, хранятся в XML-файлах (см. папку 'Resources').

Игровой процесс

  1. Главный экран игры (HomeScene). На нём изображён план дома (комнаты). По клику на выбранную комнату начинается процесс прохождения комнаты.

  2. Комната считается пройденной, как только в ней собрано не менее 4 предметов. Можно выйти без отметки о прохождении, выбрав левый верхний угол на экране комнаты.

  3. Найденные в комнате предметы не запоминаются. Но при каждом новом входе в комнату предметы располагаются случайно.

  4. У игрока есть показатель — энергия: он тратится на прохождение комнаты. Если энергии не хватает для прохождения комнаты, пользователю сообщается диалогом.

  5. Энергия восстанавливается со временем: во время работы приложения плюс учитывается время, когда приложение не запущено.

  6. Экран прохождения комнаты (RoomScene). Отображается фон комнаты и предметы поверх него. Реализация эффекта нахождения и подбора предмета - простое плавное "улетание" объекта за границу экрана. Таймер, отсчитывающий оставшееся для прохождения комнаты время.

  7. Показываются след. диалоги (ManagerDialog): Информация о комнате (время на исследование комнаты и лучшее время, за которое эта комната была пройдена раньше). Результат исследования комнаты (комната пройдена или не хватило времени). Невозможность входа в комнату, когда у игрока не хватает энергии.

Движок > Cocos2d-x.

Среда разработки > MS VC++.

Демонстрация

https://youtu.be/flw2GRO-L_A

Зависимости

Cocos2d-x > http://cocos2d-x.org

Скомпилированная версия проекта лежит в папке 'run'. Может потребоваться установить Microsoft Visual C++ 2010 Redistributable Package > http://microsoft.com/ru-ru/download/details.aspx?id=5555

Описание проекта (в виде тестового задания) находится в папке '!readme-task'.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published