Files
pollo/source/utils/defines.hpp
2025-11-25 22:54:57 +01:00

73 lines
2.0 KiB
C++

#pragma once
#include <SDL3/SDL.h>
// 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