#include #include #include #include #include #include #define CARD_BACK -3 #pragma once class Card { private: int value_; bool flipped_ = false; bool grabbed_ = false; std::shared_ptr back_; std::shared_ptr face_; public: Card(int value, std::shared_ptr face, std::shared_ptr back); ~Card(); int getValue(); std::shared_ptr getSprite(); void setPosition(sf::Vector2i pos); void flip(); }; class CardMaker { private: std::map> textures_; public: CardMaker(); ~CardMaker(); std::shared_ptr generate(int value); };