/* * Level.h * * Created on: Nov 11, 2016 * Author: tibi */ #ifndef MODEL_LEVEL_H_ #define MODEL_LEVEL_H_ #include #include namespace farmlands { namespace model { typedef int16_t Cell; class Level { public: Level(size_t layerCount, size_t rowCount, size_t columnCount); Level(const Level&) = delete; Level& operator= (const Level&) = delete; virtual ~Level(); inline size_t layerCount() const { return m_layers; } inline size_t rowCount() const { return m_rows; } inline size_t columnCount() const { return m_columns; } Cell cell(size_t layer, size_t row, size_t col) const; void setCell(size_t layer, size_t row, size_t col, Cell value); private: Cell* m_cells; size_t m_layers; size_t m_rows; size_t m_columns; }; } /* namespace model */ } /* namespace farmlands */ #endif /* MODEL_LEVEL_H_ */