diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d53c3cf --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +build +CMakeUserPresets.json diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..c8a6e33 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,25 @@ +cmake_minimum_required(VERSION 3.10) + +# Project name and version +project(LabiryntGenerator VERSION 1.1) + +# Specify the C++ standard +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED True) + +# Add subdirectories for each module +add_subdirectory(Logs) +add_subdirectory(DrawingEngine) +add_subdirectory(Cli) +add_subdirectory(ClassFactory) +add_subdirectory(DrawingEngineFactory) + +# Create the main executable +add_executable(LabiryntGenerator main.cpp) + +# Find the FTXUI package +find_package(ftxui REQUIRED) + +# Link the modules and FTXUI to the main executable +target_link_libraries(LabiryntGenerator PRIVATE Logs DrawingEngine Cli ClassFactory DrawingEngineFactory ftxui::ftxui) + diff --git a/main.cpp b/main.cpp new file mode 100644 index 0000000..a26fa73 --- /dev/null +++ b/main.cpp @@ -0,0 +1,20 @@ +#include +#include "./DrawingEngineFactory/DrawingEngineFactory.h" +#include "./Logs/Logs.h" +#include +#include + +using namespace std; + +int main(){ + writeToLogs("App start"); + //creating drawing engine factory with specific style of drawing + DrawingEngineFactory def = DrawingEngineFactory(0); + //creating drawing engine and taking poiter to it + shared_ptr engine = def.createEngine(3,4, 'r', 'w'); + //creating vector of vector of integers to print + vector> toPrint ({{0, 1, 1}, {1 , 0, 1}, {1, 0, 1}, {1, 0, 0}}); + //printing + (*engine).print(toPrint); + return 0; +}