moevm / oop

Object-oriented programming course
30 stars 225 forks source link

8382 Efimova M.A added lab2 #665

Closed ephemerno closed 4 years ago

ephemerno commented 4 years ago

Добавлена вторая лаб. работа

Созданы:

Пока что есть функционал создания поля произвольного размера, создание с помощью статично поставленной базы одного типа юнитов HeavyCavalry (ограничение исходит из UI), перемещение сих юнитов по полю

Взаимодействие нейтральных объектов поля с юнитами осуществляется с помощью меты действия (структура ActionMeta, определенная в классе BoardUnit), для соответствия общей архитектуре, поэтому делать их взаимодействие при помощи перегрузки операторов было бы нелогично

Генерация ландшафта (пока только снег и трава) осуществляется с помощью Шума Перлина (Perlin Noise) для плавности и натуральности

UI написан на Qt QML, связь с С++ бэкэндом (логикой) обеспечена классом UItoBackendConnector, пока что находится в начальной стадии разработки

Объявления всех классов находятся в папке include Определения классов находятся в папке source Ассеты UI находятся в папке images Qt файлы интерфейса находятся в папке Qt UML диаграмма находится в файле ClassDiagram1.png в корне проекта

Для запуска необходимо открыть и скомпилировать проект в Visual Studio 2019 (необходимо иметь установленный модуль Qt Visual Studio Tools 2019) либо же открыть и скомпилировать проект в QtCreator

Программа тестировалась на компиляторах MSVC (x64) 2017/MSVC (x64) 2019, работа на других компиляторах (MinGW) не гарантируется, хотя возможна

ВАЖНО: Статичная база поставлена в клетке (4;9), поэтому создание поля размера меньшего чем (5; 10) приведет к критической ошибке и остановке программы

Ksenox commented 4 years ago

Отсутствует отчет в формате pdf