#pragma once #include #include class PlayerCursor { private: std::vector rows; sf::Vector2u position; int leftDAS; int rightDAS; int upDAS; int downDAS; public: PlayerCursor(std::vector rows); void updatePosition(); bool movedLeft() const; bool movedRight() const; bool movedUp() const; bool movedDown() const; void goToPosition(const sf::Vector2u& newPosition); const sf::Vector2u& getPosition() const; private: bool shouldMove(int DAS) const; void moveLeft(); void moveRight(); void moveUp(); void moveDown(); };