aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/app/maze.tpp11
-rw-r--r--src/engine/vector2.cpp5
-rw-r--r--src/engine/vector2.hpp7
3 files changed, 6 insertions, 17 deletions
diff --git a/src/app/maze.tpp b/src/app/maze.tpp
index 1ed69ac..f0098a1 100644
--- a/src/app/maze.tpp
+++ b/src/app/maze.tpp
@@ -4,6 +4,7 @@
#include "app/stack.hpp"
+#include <memory>
#include <utility>
#include <vector>
@@ -24,7 +25,7 @@ std::vector<std::shared_ptr<Vector2>> get_neighbours(Matrix<Element> *matrix,
if (pos->y() != 1U)
{
- auto pos_down = (*pos - Vector2({.x = 0U, .y = 2U})).copy();
+ auto pos_down = std::make_shared<Vector2>(*pos - Vector2({.x = 0U, .y = 2U}));
if (matrix->get(*pos_down) != space_element)
{
@@ -34,7 +35,7 @@ std::vector<std::shared_ptr<Vector2>> get_neighbours(Matrix<Element> *matrix,
if (pos->y() != matrix->rows() - 2U)
{
- auto pos_up = (*pos + Vector2({.x = 0U, .y = 2U})).copy();
+ auto pos_up = std::make_shared<Vector2>(*pos + Vector2({.x = 0U, .y = 2U}));
if (matrix->get(*pos_up) != space_element)
{
@@ -44,7 +45,7 @@ std::vector<std::shared_ptr<Vector2>> get_neighbours(Matrix<Element> *matrix,
if (pos->x() != 1U)
{
- auto pos_left = (*pos - Vector2({.x = 2U, .y = 0U})).copy();
+ auto pos_left = std::make_shared<Vector2>(*pos - Vector2({.x = 2U, .y = 0U}));
if (matrix->get(*pos_left) != space_element)
{
@@ -54,7 +55,7 @@ std::vector<std::shared_ptr<Vector2>> get_neighbours(Matrix<Element> *matrix,
if (pos->x() != matrix->columns() - 2U)
{
- auto pos_right = (*pos + Vector2({.x = 2U, .y = 0U})).copy();
+ auto pos_right = std::make_shared<Vector2>(*pos + Vector2({.x = 2U, .y = 0U}));
if (matrix->get(*pos_right) != space_element)
{
@@ -132,7 +133,7 @@ void matrix_to_maze(Matrix<Element> *matrix, std::shared_ptr<Vector2> start_pos,
auto next_pos = neighbours[random_gen->in_range(
0U, static_cast<unsigned int>(neighbours.size()) - 1U)];
- auto between_pos = pos->copy();
+ auto between_pos = std::make_shared<Vector2>(*pos);
if (next_pos->y() != pos->y())
{
diff --git a/src/engine/vector2.cpp b/src/engine/vector2.cpp
index d091ea5..2d2283b 100644
--- a/src/engine/vector2.cpp
+++ b/src/engine/vector2.cpp
@@ -24,11 +24,6 @@ void Vector2::y(unsigned int y)
_y = y;
}
-std::shared_ptr<Vector2> Vector2::copy()
-{
- return std::make_shared<Vector2>(*this);
-}
-
Vector2 Vector2::operator*(const Vector2 &vector2) const
{
return Vector2({.x = _x * vector2.x(), .y = _y * vector2.y()});
diff --git a/src/engine/vector2.hpp b/src/engine/vector2.hpp
index 8423431..f69008f 100644
--- a/src/engine/vector2.hpp
+++ b/src/engine/vector2.hpp
@@ -43,13 +43,6 @@ public:
*/
void y(unsigned int y);
- /**
- * Creates a copy of the 2D vector.
- *
- * @returns A identical 2D vector.
- */
- std::shared_ptr<Vector2> copy();
-
Vector2 operator*(const Vector2 &vector2) const;
Vector2 operator+(const Vector2 &vector2) const;
Vector2 operator-(const Vector2 &vector2) const;