aboutsummaryrefslogtreecommitdiff
path: root/src/app/app.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/app/app.cpp')
-rw-r--r--src/app/app.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/app/app.cpp b/src/app/app.cpp
new file mode 100644
index 0000000..0942c3e
--- /dev/null
+++ b/src/app/app.cpp
@@ -0,0 +1,26 @@
+#include "app.hpp"
+
+#include "app/maze.hpp"
+#include "engine/bounds.hpp"
+#include "engine/matrix.hpp"
+#include "engine/vector2.hpp"
+
+#include <memory>
+#include <string_view>
+
+void app_start(const AppOptions &app_options)
+{
+ Matrix<std::string_view> matrix(*app_options.maze_bounds() *
+ Bounds({.width = 2U, .height = 2U}) +
+ Bounds({.width = 1U, .height = 1U}));
+
+ matrix.fill(app_options.wall());
+
+ auto start_pos = *app_options.start_coords() * Vector2({.x = 2U, .y = 2U}) +
+ Vector2({.x = 1U, .y = 1U});
+
+ matrix_to_maze<std::string_view>(&matrix, std::make_shared<Vector2>(start_pos), " ",
+ app_options.random_gen());
+
+ matrix.print();
+}