#ifndef CONSTANTS_H #define CONSTANTS_H namespace Constants { const struct { const unsigned int width; const unsigned int height; } field_size = { 16, 16 }, map_size = { 30, 30 }, map_size_pixel = { field_size.width * map_size.width, field_size.height * map_size.height }; const unsigned int sprite_margin = 2; const unsigned int sprite_offset = 20; const unsigned int tick = 250; // ms } namespace Color { enum Color { none = 0, red = (1 << 0), blue = (1 << 1), green = (1 << 2), max = (1 << 2), }; } // constants for data transmission to client namespace Transmission { typedef unsigned int field_t; typedef unsigned int mask_t; const field_t none = 0; const field_t block = (1 << 3); const field_t point = (1 << 4); const field_t bonuspoint = (1 << 5); const field_t pacman = (1 << 6); const field_t direction_none = 0; const field_t direction_left = (1 << 7); const field_t direction_right = (1 << 8); const field_t direction_up = (1 << 9); const field_t direction_down = (1 << 10); const mask_t color_mask = Color::none | Color::red | Color::blue | Color::green; const mask_t type_mask = block | bonuspoint; const mask_t direction_mask = direction_none | direction_left | direction_right | direction_up | direction_down; typedef field_t** map_t; } #endif // CONSTANTS_H