Skip to content

namontec/SkyTower-Demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 

Repository files navigation

SkyTower-Demo

Тестовое задание c++ / cocos2d-x

Цель игры

Раскачивающийся на веревке блок по клику/тапу падает вниз и надстраивается последним этажом к возводимой башне.

В зависимости от точности попадания начисляются очки и пересчитывается устойчивость раскачивающейся башни.

Реализация

Использоовался cocos2d-x-3.17.1

Базовый объект GameObject включает в себя компонеты отвечающие за его поведения. GraphicComponent – спрайт, положение на экране. PhysicComponent – движение, гравитация. InputComponent – управление. CollisionComponent - колладер, обработка столкновений.

GameObject может клонировать себя (prototype). Сначала все объекты создаются, устанавливаются их параметры, затем они добавляются в Spawner. Который впоследствии может создавать экземпляры этих объектов по строковому имени.

Прототипирование позволяет легко создавать модификации объектов. Например, несколько видов стоительных блоков, отличающяхся текстурами, но имеющими другие одинаковые параметры. Сначала создается один блок, к нему доваляются компоненты. Этот блок добавляется в spawner. И на основании этого блока создаются другие.

Объекты создаются с помощью данных, а не классов. Поэтому их создание можно легко вынести в отдельный файл (json, xml, txt). И для добавления новых видов объектов не понадобится перекомпиляция программы.

Так как все объекты создаются по имени, также и описание уровней легко переносится в текстовый файл – сколько каких объектов и где их располагать легко записывается в файле.

Объекты (блоки, веревка) не взаимодествуют напрямую друг с другом. Для этого существует объект GameManager (шаблон Mediator). Он получает сигналы и решает что делать - начисляет очки, вычисляет шатание башни, заканчивает игру

Бинарники

win32 (http://nmeo.ru/storage/app/media/files/skytower.zip)

Видео

video (https://www.youtube.com/watch?v=cKxyJjfxGBk)

About

Тестовое задание c++ / cocos2d-x

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published