This commit is contained in:
2025-11-26 09:22:52 +01:00
10 changed files with 165 additions and 25 deletions

View File

@@ -17,7 +17,7 @@ namespace Defaults {
// Dimensiones del canvas del juego (usa GameCanvas como fuente única)
namespace Canvas {
constexpr int WIDTH = GameCanvas::WIDTH; // Ancho del canvas del juego (320)
constexpr int HEIGHT = GameCanvas::HEIGHT; // Alto del canvas del juego (240)
constexpr int HEIGHT = GameCanvas::HEIGHT; // Alto del canvas del juego (200)
} // namespace Canvas
// --- WINDOW ---
@@ -39,8 +39,8 @@ constexpr const char* PALETTE_NAME = "cpc"; // Paleta por defect
// --- BORDER ---
namespace Border {
constexpr bool ENABLED = true; // Borde activado por defecto
constexpr int WIDTH = 32; // Ancho del borde por defecto
constexpr int HEIGHT = 24; // Alto del borde por defecto
constexpr int WIDTH = 40; // Ancho del borde por defecto (400x300 total)
constexpr int HEIGHT = 50; // Alto del borde por defecto (400x300 total)
} // namespace Border
// --- AUDIO ---

View File

@@ -16,6 +16,10 @@
class Player {
public:
// --- Constantes de tamaño ---
static constexpr int WIDTH = 8; // Ancho del jugador en pixels
static constexpr int HEIGHT = 16; // Alto del jugador en pixels
// --- Enums y Structs ---
enum class State {
ON_GROUND, // En suelo plano o conveyor belt
@@ -72,10 +76,6 @@ class Player {
#endif
private:
// --- Constantes de tamaño ---
static constexpr int WIDTH = 8; // Ancho del jugador en pixels
static constexpr int HEIGHT = 16; // Alto del jugador en pixels
// --- Constantes de movimiento horizontal ---
static constexpr float WALK_VELOCITY = 50.0F; // Velocidad al caminar (inmediata) en pixels/segundo
static constexpr float RUN_VELOCITY = 80.0F; // Velocidad al correr en pixels/segundo

View File

@@ -41,7 +41,7 @@ class RoomLoader {
*
* El formato YAML esperado incluye:
* - room: configuración general
* - tilemap: array 2D de 24x40 tiles (convertido a vector 1D de 960 elementos)
* - tilemap: array 2D de 20x40 tiles (convertido a vector 1D de 800 elementos)
* - enemies: lista de enemigos (opcional)
* - items: lista de items (opcional)
*/
@@ -64,8 +64,8 @@ class RoomLoader {
/**
* @brief Convierte un tilemap 2D a vector 1D flat
* @param tilemap_2d Array 2D de tiles (24 rows × 40 cols)
* @return Vector 1D flat con 960 elementos
* @param tilemap_2d Array 2D de tiles (20 rows × 40 cols)
* @return Vector 1D flat con 800 elementos
*/
static auto flattenTilemap(const std::vector<std::vector<int>>& tilemap_2d) -> std::vector<int>;

View File

@@ -114,9 +114,9 @@ void Scoreboard::fillTexture() {
// Limpia la textura
surface_->clear(stringToColor("black"));
// Anclas
constexpr int LINE1 = Tile::SIZE;
constexpr int LINE2 = 3 * Tile::SIZE;
// Anclas (ajustadas para scoreboard de 40px)
constexpr int LINE1 = 6; // Reducido de 8 para ajuste proporcional
constexpr int LINE2 = 20; // Reducido de 24 para ajuste proporcional
// Dibuja las vidas
// Calcular desplazamiento basado en tiempo

View File

@@ -38,10 +38,10 @@ Game::Game(Mode mode)
room_tracker_(std::make_shared<RoomTracker>()),
mode_(mode),
#ifdef _DEBUG
current_room_("03.yaml"),
spawn_data_(Player::SpawnData(25 * Tile::SIZE, 21 * Tile::SIZE, 0, 0, 0, Player::State::ON_GROUND, Flip::LEFT))
current_room_("04.yaml"),
spawn_data_(Player::SpawnData(25 * Tile::SIZE, PlayArea::BOTTOM - Player::HEIGHT - Tile::SIZE, 0, 0, 0, Player::State::ON_GROUND, Flip::LEFT))
#else
current_room_("03.yaml"),
current_room_("04.yaml"),
spawn_data_(Player::SpawnData(25 * Tile::SIZE, 21 * Tile::SIZE, 0, 0, 0, Player::State::ON_GROUND, Flip::LEFT))
#endif
{