00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00029 #ifndef GRID_HPP_
00030 #define GRID_HPP_
00031
00032 #include <vector>
00033
00034 using namespace std;
00035
00037
00038 enum Status
00039 {
00040 nDONTCARE = 0,
00041 nNOSPACE,
00042 nENABLED,
00043 nDISABLED,
00044 nINPUT,
00045 nOUTPUT,
00046 nERROR
00047 };
00048
00049 using namespace std;
00050
00051 typedef vector< vector<int> > matrix;
00052
00053 class Grid
00054 {
00055 public:
00056 Grid();
00057 Grid(matrix newList);
00058 Grid(int w, int h);
00059 virtual ~Grid();
00060 int getWidth() const;
00061 int getHeight() const;
00062 matrix getCells() const;
00063 void init(const Grid& grid);
00064 bool operator ==(Grid grid);
00065 int& operator ()(int x, int y);
00066 bool isEnabled(int x, int y);
00067 bool isDisabled(int x, int y);
00068 bool isInput(int x, int y);
00069 bool isOutput(int x, int y);
00070 bool isSpace(int x, int y);
00071
00072 private:
00074 matrix cells;
00076 int width;
00078 int height;
00079 };
00080
00081 #endif