#pragma once #include "ifdefs.h" #include "const.h" #include "utils.h" #include "asset.h" #include "room.h" #include "animatedsprite.h" #include "input.h" #include #ifndef PLAYER_H #define PLAYER_H #define VX 0.6 // Clase Player class Player { private: LTexture *texture; // Textura con los graficos del enemigo AnimatedSprite *sprite; // Sprite del enemigo Input *input; // Objeto para gestionar la entrada Room *room; // Objeto con el mapa del juego SDL_Renderer *renderer; // El renderizador de la ventana Asset *asset; // Objeto con la ruta a todos los ficheros de recursos color_t color; // Color del jugador bool onBorder; // Indica si el jugador esta en uno de los cuatro bordes de la pantalla int border; // Indica en cual de los cuatro bordes se encuentra // Comprueba las entradas y modifica variables void checkInput(); // Comprueba si se halla en alguno de los cuatro bordes void checkBorders(); public: // Constructor Player(std::string _tileset, SDL_Renderer *_renderer, Asset *_asset, Input *_input, Room *_room); // Destructor ~Player(); // Pinta el enemigo en pantalla void draw(); // Actualiza las variables del objeto void update(); // Indica si el jugador esta en uno de los cuatro bordes de la pantalla bool getOnBorder(); // Indica en cual de los cuatro bordes se encuentra int getBorder(); // Cambia al jugador de un borde al opuesto. Util para el cambio de pantalla void switchBorders(); // Establece el valor de la variable void setRoom(Room *_room); // Obtiene el valor del pixel inferior izquierdo del jugador SDL_Point getLeftFoot(); // Obtiene el valor del pixel inferior derecho del jugador SDL_Point getRightFoot(); // Establece la velocidad en el eje Y al jugador void setFalling(bool value); }; #endif