// joc_asteroides.hpp - Lògica principal del joc // © 1999 Visente i Sergi (versió Pascal) // © 2025 Port a C++20 amb SDL3 #ifndef JOC_ASTEROIDES_HPP #define JOC_ASTEROIDES_HPP #include #include #include #include "core/types.hpp" #include "game/constants.hpp" // Classe principal del joc class JocAsteroides { public: JocAsteroides(SDL_Renderer* renderer); ~JocAsteroides() = default; void inicialitzar(); void actualitzar(float delta_time); void dibuixar(); void processar_input(const SDL_Event& event); private: SDL_Renderer* renderer_; // Estat del joc Triangle nau_; std::array orni_; std::array bales_; Poligon chatarra_cosmica_; uint16_t itocado_; // Funcions de dibuix bool linea(int x1, int y1, int x2, int y2, bool dibuixar); void rota_tri(const Triangle& tri, float angul, float velocitat, bool dibuixar); void rota_pol(const Poligon& pol, float angul, bool dibuixar); // Moviment void mou_orni(Poligon& orni, float delta_time); void mou_bales(Poligon& bala, float delta_time); void tocado(); }; #endif // JOC_ASTEROIDES_HPP