#ifndef LEVEL_H #define LEVEL_H #include #include "cell.h" constexpr coordinate side = 32; using Row = std::array; using Map = std::array; /// Abstraction over 2D array to quickly get access to level cells class Level { private: Map map; sf::Color color_ground; public: Level(); /// Place a bridge cell void placeBridge(coordinate x, coordinate y); /// Get the 2D array of level map Map& mapArray(); /// Replace a charge cell with a ground cell void removeCharge(coordinate x, coordinate y); /// Get default color for passable cells sf::Color defaultGroundColor(); /// Set default color for passable cells void setDefaultGroundColor(const sf::Color &color); }; #endif // LEVEL_H