Lots of stuff
[vic.git] / src / hex_map_rules.h
blob05bd0f8451615213659a2e34854b60c41ed61539
1 #ifndef HEX_MAP_RULES_H
2 #define HEX_MAP_RULES_H
4 #include "direction.h"
6 class HexMapRules
8 protected:
9 enum DirectionId { NE, E, SE, SW, W, NW };
11 class Direction :
12 public IDirection
14 protected:
15 DirectionId dir;
17 public:
18 Direction (DirectionId dir);
19 ~Direction ();
21 bool checkBounds (unsigned int x, unsigned int y,
22 unsigned int w, unsigned int h) const;
24 std::pair<unsigned int , unsigned int> move (
25 unsigned int x, unsigned int y) const;
28 public:
29 static const Direction NorthEast;
30 static const Direction East;
31 static const Direction SouthEast;
32 static const Direction SouthWest;
33 static const Direction West;
34 static const Direction NorthWest;
37 #endif /* HEX_MAP_RULES_H */