bf83f161b0
Tres tareas de pulido para cerrar la Fase 1 por completo: #pragma once uniforme: - sdl_manager.hpp y game_scene.hpp pasan de #ifndef/#define guards a #pragma once. Los archivos externos (stb_vorbis.h, fkyaml_node.hpp) se mantienen intactos (codigo de terceros). Variables locales y parametros restantes (catalan -> ingles): - fitxer -> file, moviment -> movement, inici -> start - comptador -> counter, escalada -> scaled - missatges -> messages, llista -> list - alçada -> height, amplada -> width, llargada -> length - origen -> origin, distancia -> distance, valor -> value, desti -> target - neteja -> clear, presenta -> present (SDLManager) - total_enemics -> total_enemies, configurar -> configure, iniciar -> start Comentarios catalan -> castellano: - Cabeceras de fichero actualizadas con nombres nuevos (escena_joc.hpp -> game_scene.hpp, etc.) - Palabras tecnicas: trasllacio->traslacion, col-lisio->colision, inicialitzacio->inicializacion, posicio->posicion, rotacio->rotacion, velocitat->velocidad, acceleracio->aceleracion, explosio->explosion, renderitzat->renderizado, calcul->calculo, transicio->transicion, comprovacio->comprobacion, substitucio->sustitucion, utilitzacio->utilizacion, opcio->opcion, configuracio->configuracion, funcio->funcion, distancia, animacio->animacion - Determinantes y conectores: aquest->este, aquesta->esta, amb->con, sense->sin, pero->pero, mai->nunca, nomes->solo, tambe->tambien, sempre->siempre, ja->ya, mateix->mismo, vegada->vez, dintre->dentro, fora->fuera, dreta->derecha, esquerra->izquierda, sortir->salir, sortida->salida, petit->pequeno, gran->grande, nou->nuevo, vell->viejo, molt->mucho, els->los, les->las, totes les->todas las, d'->de, com->como, quan->cuando, mentre->mientras, despres->despues, abans->antes, durant->durante, fins->hasta, encara->aun, llavors->entonces, aixi->asi, perque->porque - Sustantivos: classe->clase, metode->metodo, parametre->parametro, versio->version, entitat->entidad, joc->juego, nivell->nivel, enemic->enemigo, naus->naves, bales->balas, fitxer->archivo, pentagon->pentagono, pun- tuacio->puntuacion, flotant->flotante, titol->titulo, objectiu->objetivo, mostra->muestra, tipus->tipo Strings literales preservados en valenciano segun decision del usuario: el texto del HUD del juego (puntuaciones, mensajes en pantalla, archivo de config) se mantiene en valenciano original. 70 fitxers tocats, +1117 / -1123. Compila i enllaca. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
60 lines
2.2 KiB
C++
60 lines
2.2 KiB
C++
#pragma once
|
|
|
|
#include "core/defaults.hpp"
|
|
|
|
// Aliases para backward compatibility con codi existent
|
|
// Permet usar Constants::MARGIN_LEFT en lloc de Defaults::Game::MARGIN_LEFT
|
|
|
|
namespace Constants {
|
|
// Marges de l'àrea de juego (derivats de Defaults::Zones::GAME)
|
|
constexpr int MARGIN_LEFT = static_cast<int>(Defaults::Zones::PLAYAREA.x);
|
|
constexpr int MARGIN_RIGHT =
|
|
static_cast<int>(Defaults::Zones::PLAYAREA.x + Defaults::Zones::PLAYAREA.w);
|
|
constexpr int MARGIN_TOP = static_cast<int>(Defaults::Zones::PLAYAREA.y);
|
|
constexpr int MARGIN_BOTTOM =
|
|
static_cast<int>(Defaults::Zones::PLAYAREA.y + Defaults::Zones::PLAYAREA.h);
|
|
|
|
// Límits de objectes
|
|
constexpr int MAX_ORNIS = Defaults::Entities::MAX_ORNIS;
|
|
constexpr int MAX_BALES = Defaults::Entities::MAX_BALES;
|
|
|
|
// Velocitats (valors legacy del codi Pascal)
|
|
constexpr int VELOCITAT = static_cast<int>(Defaults::Physics::ENEMY_SPEED);
|
|
constexpr int VELOCITAT_MAX = static_cast<int>(Defaults::Physics::BULLET_SPEED);
|
|
|
|
// Matemàtiques
|
|
constexpr float PI = Defaults::Math::PI;
|
|
|
|
// Helpers per comprovar límits de zona
|
|
inline bool dins_zona_joc(float x, float y) {
|
|
const SDL_FPoint point = {x, y};
|
|
return SDL_PointInRectFloat(&point, &Defaults::Zones::PLAYAREA);
|
|
}
|
|
|
|
inline void obtenir_limits_zona(float& min_x, float& max_x, float& min_y, float& max_y) {
|
|
const auto& zona = Defaults::Zones::PLAYAREA;
|
|
min_x = zona.x;
|
|
max_x = zona.x + zona.w;
|
|
min_y = zona.y;
|
|
max_y = zona.y + zona.h;
|
|
}
|
|
|
|
// Obtenir límits segurs (compensant radi de l'entidad)
|
|
inline void obtenir_limits_zona_segurs(float radi, float& min_x, float& max_x, float& min_y, float& max_y) {
|
|
const auto& zona = Defaults::Zones::PLAYAREA;
|
|
constexpr float MARGE_SEGURETAT = 10.0F; // Safety margin
|
|
|
|
min_x = zona.x + radi + MARGE_SEGURETAT;
|
|
max_x = zona.x + zona.w - radi - MARGE_SEGURETAT;
|
|
min_y = zona.y + radi + MARGE_SEGURETAT;
|
|
max_y = zona.y + zona.h - radi - MARGE_SEGURETAT;
|
|
}
|
|
|
|
// Obtenir centro de l'àrea de juego
|
|
inline void obtenir_centre_zona(float& centre_x, float& centre_y) {
|
|
const auto& zona = Defaults::Zones::PLAYAREA;
|
|
centre_x = zona.x + (zona.w / 2.0F);
|
|
centre_y = zona.y + (zona.h / 2.0F);
|
|
}
|
|
} // namespace Constants
|