Primitive C++ Space Invaders game (Qt)
Написан, если это можно так назвать, примитивный движок для игр, где все обьекты прямоугольны и сонаправлены (нету не прямых/развернутых углов). Базовым классом игровых обьектов является класс GameObject, содержащий в себе экземпляры классов Transform и Render. От этого класса наследуются классы AlienShip, SpaceShip, LinearProjectile. LinearProjectile продолжает класс GameObject и является обобщением всех снарядов, будь то ракеты или бомбы пришельцев в нашем случае. Спрайты для игры хранятся как ресурсы Qt в файле textures.qrc, а указатели на них храняться в экземпляре класса TextureHolder. Все игровые константы хранятся в файле gameconsts.h
Физика игры завязана на времени между кадрами deltaTime. Корабль имеет подобие инерции. Бомбочки сбрасываются случайно самыми нижними пришельцами. При попадании бомбочки в ракету ракета разрушается. Бомбочка не разрушается. Попадание бомбочки в корабль ведет за собой потерю жизни. Попадание ракеты в пришельца убивает пришельца и разрушает ракету. Максимальное количество слоев пришельцев - 6. Когда пришельцы спускаются до игрока, он проигрывает сразу. Пришельцы ускоряются в зависимости от того, сколько пришельцев уже убито из текущего кластера пришельцев. Управление: горизонтальные стрелочки - движение, пробел - запуск ракет.