epr24pr3_ojanssen2/Player.h

43 lines
1.2 KiB
C
Raw Normal View History

//
// Created by moonleay on 12/12/24.
//
#include "PositionVector.h"
#include "Maze.h"
#ifndef PLAYER_H
#define PLAYER_H
namespace game
{
/// Ein Spieler.
/// Besitzt einen veränderbaren Positionsvektor
class Player
{
/// Die Position des Spielers
PositionVector pos;
public:
/// Ein Spieler.
/// Besitzt einen veränderbaren Positionsvektor
/// @param target_x Die Startposition des Spielers (X-Koordinate)
/// @param target_y Die Startposition des Spielers (Y-Koordinate)
Player(int target_x, int target_y);
/// Kriege die Position des Spielers
/// @return Die Position des Spielers
PositionVector get_pos() const;
/// Aktuallisiere die Position des Spielers ohne weitere Checks
/// @param target Das ziel
void update_position(PositionVector target);
/// Bewege den Splieler um den Bewegungsvektor, insofern die Zielposition begehbar ist
/// @param maze Das Maze
/// @param move_vector Die gewollte Bewegung
/// @return Die neue Position des Spielers
void move(Maze maze, PositionVector move_vector);
};
} // maze
#endif //PLAYER_H