43 lines
1.2 KiB
C
43 lines
1.2 KiB
C
|
//
|
||
|
// 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
|