#pragma once #include "animatedsprite.h" #include "asset.h" #include "jail_audio.h" #include "utils.h" #ifndef PLAYER_H #define PLAYER_H // The player class Player { private: bool can_jump; // Si puede saltar bool enabled; // Si está habilitado bool jump_pressed_before; // Si se ha pulsado el botón de salto previamente bool jump_pressed_now; // Si se acaba de pulsar el salto bool key[6]; // Indica las llaves que posee el jugador bool standing; // Si esta de pie (o quieto?) bool was_on_background; // Si viene de una zona atravesable int coins; // Cantidad de monedas int cooldown; // Tiempo de inhabilitación int jumpforce; // Cantidad de pixels a desplazarse y velocidad que pilla al saltar int respawn_x; // Coordenadas para revivir int respawn_y; // Coordenades para revivir int speed_x; // Cantidad de pixeles a desplazarse int speed_y; // Cantidad de pixels a desplazarse JA_Sound sound_coin; // Sonido al coger monedas JA_Sound sound_death; // Sonido al morir JA_Sound sound_jump; // Sonido al saltar SDL_Rect rect; // Rectangulo con la posición del jugador AnimatedSprite *sprite; // Sprite con los graficos y animaciones Asset *asset; // Objeto con los ficheros de recursos LTexture *texture; // Objeto con los gráficos del jugador Uint8 active_animation; // Animación activa Uint8 direction; // Sentido del desplazamiento Uint8 lifes; // Cantidad de vidas Uint8 respawn_direction; // Dirección para revivir public: // Constructor Player(SDL_Renderer *renderer, Asset *asset); // Destructor ~Player(); // Actualiza todas las variables void update(); // Dibuja el objeto void render(); }; #endif