#include "app.hpp" #include "app/maze.hpp" #include "engine/bounds.hpp" #include "engine/matrix.hpp" #include "engine/vector2.hpp" #include #include App::App(const AppOptions &options) : _options(options) {} void App::run() { Matrix matrix(*_options.maze_bounds * Bounds({.width = 2U, .height = 2U}) + Bounds({.width = 1U, .height = 1U})); matrix.fill(_options.wall); auto start_pos = *_options.start_coords * Vector2({.x = 2U, .y = 2U}) + Vector2({.x = 1U, .y = 1U}); matrix_to_maze(&matrix, std::make_shared(start_pos), " ", _options.random_gen); matrix.print(); }