#pragma once #include "MapT.h" #include "CoordT.h" class PlayerT{ public: PlayerT() = default; virtual ~PlayerT() {}; virtual char MapSymbol() = 0; virtual void Move(MapT & map, CoordT pos, int time) = 0; bool CanMove(int time){ return moveTime < time;} void UpdateMoveTime(int time){moveTime = time;} private: int moveTime{-1}; }; class FighterT : public PlayerT { public: char MapSymbol() override; void Move(MapT & map, CoordT pos, int time) override; }; class WizardT : public PlayerT { public: char MapSymbol() override; void Move(MapT & map, CoordT pos, int time) override; };