-
Показать знание языка C++ (не С).
-
Показать знание ООП и умение его использовать.
- Использовалось только наследование и инкапсуляция. В Полиморфизме, по моему мнению, для этого проекта нет необходимости, также как и делать многопоточную архитертуру.
- Показать умение использовать STL.
- В проекте используются контейнеры
map
, шаблоны классаfunction
, а также происходит взаимодействие с итераторами.
- Аккуратно оформленный структурированный код.
- Код оформлен в виде классов, которые разбиты по файлам
.h
и.cpp
. Каждый класс имеет свою зону ответственности.
- Показать умение подключать и использовать внешние библиотеки.
- Для системы сборки используется
CMake
, для управления зависимостямиvcpkg
+pmm
. Зависимости включают в себя далее перечисленные библиотеки:SDL2
,SDL2_ttf
,SDL2_image
,SDL2_mixer
.
-
Показать знание архитектуры игровых движков.
-
Показать использование паттернов проектирования (не только Singleton).
- В качестве архитектуры игры был выбран паттерн Model-View-Controller
- Код должен компилироваться либо под Win32 либо под Ubuntu 16.04 x64 или 18.04 x64, чтобы можно было проверить, а также запускаться без дополнительных телодвижений (F5 или же непосредственно запуск из папки с бинарником).
- Проект собирается под Windows, после компиляции поддерживается запуск по нажатию
F5
вVisualStudio
, а также из папки с.exe
файлом.