blob: 0942c3e3e477708276752f3e29f2fc7184b02f51 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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();
}
|