// enemic.hpp - Classe per a enemics (ORNIs pentàgons) // © 1999 Visente i Sergi (versió Pascal) // © 2025 Port a C++20 amb SDL3 #pragma once #include #include #include "core/graphics/shape.hpp" #include "core/types.hpp" class Enemic { public: Enemic() : renderer_(nullptr) {} Enemic(SDL_Renderer* renderer); void inicialitzar(); void actualitzar(float delta_time); void dibuixar() const; // Getters (API pública sense canvis) bool esta_actiu() const { return esta_; } const Punt& get_centre() const { return centre_; } const std::shared_ptr& get_forma() const { return forma_; } void destruir() { esta_ = false; } private: SDL_Renderer* renderer_; // [NUEVO] Forma vectorial (compartida entre tots els enemics) std::shared_ptr forma_; // [NUEVO] Estat de la instància (separat de la geometria) Punt centre_; float angle_; // Angle de moviment float velocitat_; float drotacio_; // Delta rotació visual (rad/s) float rotacio_; // Rotació visual acumulada bool esta_; float brightness_; // Factor de brillantor (0.0-1.0) void mou(float delta_time); };