epr24pr3_ojanssen2/Player.cpp

39 lines
1 KiB
C++

//
// Created by moonleay on 12/12/24.
//
#include "std_lib_inc.h"
#include "Player.h"
#include "Maze.h"
namespace game
{
Player::Player(const int target_x, const int target_y): pos(target_x, target_y)
{
// Wir brauchen keinen Inhalt in diesem Konstruktor, da wir nur die position speichern müssen
}
PositionVector Player::get_pos() const
{
return this->pos;
}
void Player::update_position(const PositionVector target)
{
this->pos = target;
}
void Player::move(Maze maze, const PositionVector move_vector)
{
// Berechne die Position, zu der der Spieler sich bewegen möchte
const PositionVector target_position = PositionVector(this->get_pos().x + move_vector.x,
this->get_pos().y + move_vector.y);
// Bewege den Spieler zu der gewollten Position, wenn diese frei ist
if (maze.is_pos_free(target_position))
this->update_position(target_position);
else
cout << "Bewegung nicht moeglich!\n";
}
} // game