// escena_titol.hpp - Pantalla de títol del joc // Mostra missatge "PRESS BUTTON TO PLAY" i copyright // © 2025 Port a C++20 #pragma once #include #include #include "core/graphics/starfield.hpp" #include "core/graphics/vector_text.hpp" #include "core/rendering/sdl_manager.hpp" #include "core/defaults.hpp" class EscenaTitol { public: explicit EscenaTitol(SDLManager& sdl); void executar(); // Bucle principal de l'escena private: // Màquina d'estats per la pantalla de títol enum class EstatTitol { INIT, // Pantalla negra inicial (2 segons) MAIN // Pantalla de títol amb text }; SDLManager& sdl_; Graphics::VectorText text_; // Sistema de text vectorial std::unique_ptr starfield_; // Camp d'estrelles de fons EstatTitol estat_actual_; // Estat actual de la màquina float temps_acumulat_; // Temps acumulat per l'estat INIT // Constants static constexpr float DURACIO_INIT = 2.0f; // Duració de l'estat INIT (2 segons) // Mètodes privats void actualitzar(float delta_time); void dibuixar(); void processar_events(const SDL_Event& event); };