Trabajando en el jugador
This commit is contained in:
@@ -3,6 +3,8 @@
|
||||
#include <SDL2/SDL.h>
|
||||
#include "utils.h"
|
||||
#include "input.h"
|
||||
#include "asset.h"
|
||||
#include "ltexture.h"
|
||||
#include "animatedsprite.h"
|
||||
|
||||
#ifndef PLAYER_H
|
||||
@@ -47,41 +49,49 @@
|
||||
class Player
|
||||
{
|
||||
private:
|
||||
float mPosX; // Posicion en el eje X
|
||||
int mPosY; // Posicion en el eje Y
|
||||
// Objetos
|
||||
SDL_Renderer *renderer; // El renderizador de la ventana
|
||||
Asset *asset; // Objeto que gestiona todos los ficheros de recursos
|
||||
LTexture *headTexture; // Textura para la cabeza del jugador
|
||||
LTexture *bodyTexture; // Textura para el cuerpo del jugador
|
||||
LTexture *deathTexture; // Textura para la animación de muerte del jugador
|
||||
LTexture *legsTexture; // Textura para las piernas del jugador
|
||||
AnimatedSprite *legsSprite; // Sprite para dibujar las piernas
|
||||
AnimatedSprite *bodySprite; // Sprite para dibujar el cuerpo
|
||||
AnimatedSprite *headSprite; // Sprite para dibujar la cabeza
|
||||
|
||||
Uint8 mWidth; // Anchura
|
||||
Uint8 mHeight; // Altura
|
||||
// Variables
|
||||
float posX; // Posicion en el eje X
|
||||
int posY; // Posicion en el eje Y
|
||||
|
||||
float mVelX; // Cantidad de pixeles a desplazarse en el eje X
|
||||
int mVelY; // Cantidad de pixeles a desplazarse en el eje Y
|
||||
Uint8 width; // Anchura
|
||||
Uint8 height; // Altura
|
||||
|
||||
float mBaseSpeed; // Velocidad base del jugador
|
||||
int mCooldown; // Contador durante el cual no puede disparar
|
||||
float velX; // Cantidad de pixeles a desplazarse en el eje X
|
||||
int velY; // Cantidad de pixeles a desplazarse en el eje Y
|
||||
|
||||
Uint32 mScore; // Puntos del jugador
|
||||
float mScoreMultiplier; // Multiplicador de puntos
|
||||
float baseSpeed; // Velocidad base del jugador
|
||||
int cooldown; // Contador durante el cual no puede disparar
|
||||
|
||||
Uint8 mStatusWalking; // Estado del jugador
|
||||
Uint8 mStatusFiring; // Estado del jugador
|
||||
Uint32 score; // Puntos del jugador
|
||||
float scoreMultiplier; // Multiplicador de puntos
|
||||
|
||||
bool mAlive; // Indica si el jugador está vivo
|
||||
Uint16 mDeathCounter; // Contador para la animación de morirse
|
||||
bool mInvulnerable; // Indica si el jugador es invulnerable
|
||||
Uint16 mInvulnerableCounter; // Contador para la invulnerabilidad
|
||||
bool mExtraHit; // Indica si el jugador tiene un toque extra
|
||||
Uint8 mCoffees; // Indica cuantos cafes lleva acumulados
|
||||
bool mPowerUp; // Indica si el jugador tiene activo el modo PowerUp
|
||||
Uint8 mPowerUpHeadOffset; // Variable para dibujar la cabeza normal o la del powerup
|
||||
bool mInput; // Indica si puede recibir ordenes de entrada
|
||||
Uint8 statusWalking; // Estado del jugador
|
||||
Uint8 statusFiring; // Estado del jugador
|
||||
|
||||
AnimatedSprite *mSpriteLegs; // Sprite para dibujar las piernas
|
||||
AnimatedSprite *mSpriteBody; // Sprite para dibujar el cuerpo
|
||||
AnimatedSprite *mSpriteHead; // Sprite para dibujar la cabeza
|
||||
LTexture *mPlayerDeadTexture; // Textura con los gráficos para la animación de muerte
|
||||
bool alive; // Indica si el jugador está vivo
|
||||
Uint16 deathCounter; // Contador para la animación de morirse
|
||||
bool invulnerable; // Indica si el jugador es invulnerable
|
||||
Uint16 invulnerableCounter; // Contador para la invulnerabilidad
|
||||
bool extraHit; // Indica si el jugador tiene un toque extra
|
||||
Uint8 coffees; // Indica cuantos cafes lleva acumulados
|
||||
bool powerUp; // Indica si el jugador tiene activo el modo PowerUp
|
||||
Uint8 powerUpHeadOffset; // Variable para dibujar la cabeza normal o la del powerup
|
||||
bool input; // Indica si puede recibir ordenes de entrada
|
||||
circle_t mCollider; // Circulo de colisión del jugador
|
||||
|
||||
circle_t mCollider; // Circulo de colisión del jugador
|
||||
void shiftColliders(); // Actualiza el circulo de colisión a la posición del jugador
|
||||
// Actualiza el circulo de colisión a la posición del jugador
|
||||
void shiftColliders();
|
||||
|
||||
// Actualiza el valor de la variable
|
||||
void updateInvulnerableCounter();
|
||||
@@ -93,11 +103,11 @@ private:
|
||||
void updatePowerUpHeadOffset();
|
||||
|
||||
public:
|
||||
Uint8 mDeathIndex; // Apaño rapidito. Indice de SmartSprite donde esta ubicado el sprite de morirse
|
||||
Uint16 mPowerUpCounter; // Temporizador para el modo PowerUp
|
||||
Uint8 deathIndex; // Apaño rapidito. Indice de SmartSprite donde esta ubicado el sprite de morirse
|
||||
Uint16 powerUpCounter; // Temporizador para el modo PowerUp
|
||||
|
||||
// Constructor
|
||||
Player(float x, int y, LTexture *textureLegs, LTexture *textureBody, LTexture *textureHead, LTexture *textureDead, SDL_Renderer *renderer);
|
||||
Player(SDL_Renderer *renderer, Asset *asset, float x, int y);
|
||||
|
||||
// Destructor
|
||||
~Player();
|
||||
@@ -105,15 +115,18 @@ public:
|
||||
// Iniciador
|
||||
void init();
|
||||
|
||||
// Actualiza al jugador a su posicion, animación y controla los contadores
|
||||
void update();
|
||||
|
||||
// Pinta el jugador en pantalla
|
||||
void render();
|
||||
|
||||
// Actua en consecuencia de la entrada recibida
|
||||
void setInput(Uint8 input);
|
||||
|
||||
// Mueve el jugador a la posición y animación que le corresponde
|
||||
void move();
|
||||
|
||||
// Pinta el jugador en pantalla
|
||||
void render();
|
||||
|
||||
// Establece el estado del jugador
|
||||
void setWalkingStatus(Uint8 status);
|
||||
|
||||
@@ -144,9 +157,6 @@ public:
|
||||
// Actualiza el valor de la variable
|
||||
void updateCooldown();
|
||||
|
||||
// Actualiza al jugador a su posicion, animación y controla los contadores
|
||||
void update();
|
||||
|
||||
// Obtiene la puntuación del jugador
|
||||
Uint32 getScore();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user