#pragma once #include // for Uint32 #include // for shared_ptr #include // for vector #include "utils.h" // for Color class AnimatedSprite; // lines 8-8 class GameOver { private: // Constantes static constexpr int COUNTER_SECTION_END_ = 400; // Contador: cuando acaba la sección static constexpr int COUNTER_INIT_FADE_ = 310; // Contador: cuando emiepza el fade static constexpr int COUNTER_FADE_LENGHT_ = 20; // Contador: duración del fade // Objetos y punteros std::shared_ptr player_sprite_; // Sprite con el jugador std::shared_ptr tv_sprite_; // Sprite con el televisor // Variables int pre_counter_ = 0; // Contador previo int counter_ = 0; // Contador Uint32 ticks_ = 0; // Contador de ticks para ajustar la velocidad del programa std::vector colors_; // Vector con los colores para el fade Color color_; // Color usado para el texto y los sprites // Actualiza el objeto void update(); // Dibuja el final en pantalla void render(); // Comprueba el manejador de eventos void checkEvents(); // Comprueba las entradas void checkInput(); // Actualiza el color usado para renderizar los textos e imagenes void updateColor(); // Dibuja los sprites void renderSprites(); // Actualiza los contadores void updateCounters(); public: // Constructor GameOver(); // Destructor ~GameOver() = default; // Bucle principal void run(); };