#pragma once #include "animatedsprite.h" #include "jail_audio.h" #include "utils.h" #ifndef PLAYER_H #define PLAYER_H // The player class Player { public: // Constructor Player(SDL_Renderer *renderer, LTexture *texture); // Destructor ~Player(); // Inicializa todas las variables void init(SDL_Renderer *renderer, LTexture *texture); // Resetea ciertas variables void reset(); // Actualiza todas las variables void update(); // Dibuja el objeto void render(); 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 Uint8 active_animation; // Animación activa Uint8 direction; // Sentido del desplazamiento Uint8 lifes; // Cantidad de vidas Uint8 respawn_direction; // Dirección para revivir }; #endif