/* Shapes class module stores information of the shape layouts (and their binaries), and height of the shape with basic functionality */ #ifndef _SHAPES_H_ #define _SHAPES_H_ #include <vector> #include <map> #include <utility> class Shapes { static std::map<char,std::map<int,std::vector<std::pair<int,int>>>> layouts; static std::map<char,std::vector<std::vector<bool>>> binaries; static std::map<char,std::map<int,int>> heights; char type; public: Shapes(char type); char getType() const noexcept; std::vector<std::pair<int,int>> getLayout(int version); std::vector<std::vector<bool>> &getBinary(); int getHeight(int version) const; }; #endif