#pragma once #include // Tamaño de bloque namespace Tile { constexpr int SIZE = 8; constexpr int HALF_SIZE = SIZE / 2; } // namespace Tile namespace GameCanvas { constexpr int WIDTH = 320; constexpr int HEIGHT = 200; constexpr int CENTER_X = WIDTH / 2; constexpr int FIRST_QUARTER_X = WIDTH / 4; constexpr int THIRD_QUARTER_X = (WIDTH / 4) * 3; constexpr int CENTER_Y = HEIGHT / 2; constexpr int FIRST_QUARTER_Y = HEIGHT / 4; constexpr int THIRD_QUARTER_Y = (HEIGHT / 4) * 3; } // namespace GameCanvas namespace PlayArea { // Origen (esquina superior izquierda) constexpr int X = 0; constexpr int Y = 0; // Dimensiones en tiles constexpr int TILE_COLS = 40; // Ancho del mapa en tiles constexpr int TILE_ROWS = 20; // Alto del mapa en tiles constexpr int TILE_COUNT = TILE_COLS * TILE_ROWS; // 800 tiles totales // Dimensiones en pixels constexpr int WIDTH = TILE_COLS * Tile::SIZE; // 320 constexpr int HEIGHT = TILE_ROWS * Tile::SIZE; // 160 // Bordes (derivados, útiles para colisiones) constexpr int LEFT = X; constexpr int TOP = Y; constexpr int RIGHT = X + WIDTH; // 320 constexpr int BOTTOM = Y + HEIGHT; // 160 // Puntos de referencia constexpr int CENTER_X = X + (WIDTH / 2); // 160 constexpr int CENTER_Y = Y + (HEIGHT / 2); // 80 constexpr int QUARTER_X = WIDTH / 4; constexpr int QUARTER_Y = HEIGHT / 4; } // namespace PlayArea namespace ScoreboardArea { // Origen (justo debajo de PlayArea) constexpr int X = 0; constexpr int Y = PlayArea::BOTTOM; // 160 // Dimensiones constexpr int WIDTH = GameCanvas::WIDTH; // 320 constexpr int HEIGHT = (5 * Tile::SIZE); // 40 // Bordes constexpr int LEFT = X; constexpr int TOP = Y; constexpr int RIGHT = X + WIDTH; constexpr int BOTTOM = Y + HEIGHT; // 200 } // namespace ScoreboardArea namespace Collision { constexpr int NONE = -1; } // namespace Collision namespace Flip { constexpr SDL_FlipMode LEFT = SDL_FLIP_HORIZONTAL; constexpr SDL_FlipMode RIGHT = SDL_FLIP_NONE; } // namespace Flip