#pragma once #include #include "utils.h" #include "asset.h" #include "screen.h" #include "input.h" #include "map.h" #ifndef GAME_H #define GAME_H class Game { private: SDL_Renderer *renderer; // El renderizador de la ventana Asset *asset; // Objeto encargado de gestionar los ficheros de recursos Screen *screen; // Objeto encargado de dibujar en pantalla Input *input; // Objeto Input para gestionar las entradas SDL_Event *eventHandler; // Manejador de eventos section_t section; // Seccion actual dentro del programa int ticks; // Contador de ticks para ajustar la velocidad del programa int ticksSpeed; // Velocidad a la que se repiten los bucles del programa Map *map; // Objeto encargado de gestionar el mapeado del juego // Actualiza el juego, las variables, comprueba la entrada, etc. void update(); // Pinta los objetos en pantalla void render(); // Inicializa las variables necesarias para la sección 'Game' void init(); public: // Constructor Game(SDL_Renderer *renderer, Asset *asset, Screen *screen, Input *input); // Destructor ~Game(); // Bucle para el juego section_t run(); }; #endif