#pragma once #include "engine/matrix.hpp" #include "engine/vector2.hpp" #include "random_generator.hpp" #include #include /** * Turns a matrix into a maze. * * @param matrix A matrix * @param start_pos The start position in the matrix * @param space_element A matrix element used to indicate a space in a maze * @param random_gen A pseudo-random number generator */ template void matrix_to_maze(Matrix *matrix, std::shared_ptr start_pos, Element space_element, const std::shared_ptr& random_gen); #include "maze.tpp"