añadidos nuevos ficheros de clases
This commit is contained in:
182
source/player.h
182
source/player.h
@@ -1,6 +1,7 @@
|
||||
#pragma once
|
||||
#include "struct.h"
|
||||
#include "animatedsprite.h"
|
||||
#include "jail_audio.h"
|
||||
#include "utils.h"
|
||||
|
||||
#ifndef PLAYER_H
|
||||
#define PLAYER_H
|
||||
@@ -10,164 +11,47 @@ class Player
|
||||
{
|
||||
public:
|
||||
// Constructor
|
||||
Player();
|
||||
Player(SDL_Renderer *renderer, LTexture *texture);
|
||||
|
||||
// Destructor
|
||||
~Player();
|
||||
|
||||
// Iniciador
|
||||
void init(float x, int y, LTexture *textureLegs, LTexture *textureBody, SDL_Renderer *renderer);
|
||||
// Inicializa todas las variables
|
||||
void init(SDL_Renderer *renderer, LTexture *texture);
|
||||
|
||||
// Actua en consecuencia de la entrada recibida
|
||||
void setInput(Uint8 input);
|
||||
// Resetea ciertas variables
|
||||
void reset();
|
||||
|
||||
// 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);
|
||||
void setFiringStatus(Uint8 status);
|
||||
|
||||
// Establece la animación correspondiente al estado
|
||||
void setAnimation();
|
||||
|
||||
// Obtiene el valor de la variable
|
||||
int getPosX();
|
||||
|
||||
// Obtiene el valor de la variable
|
||||
int getPosY();
|
||||
|
||||
// Obtiene el valor de la variable
|
||||
int getWidth();
|
||||
|
||||
// Obtiene el valor de la variable
|
||||
int getHeight();
|
||||
|
||||
// Indica si el jugador puede disparar
|
||||
bool canFire();
|
||||
|
||||
// Establece el valor de la variable
|
||||
void setFireCooldown(int time);
|
||||
|
||||
// Actualiza el valor de la variable
|
||||
void updateCooldown();
|
||||
|
||||
// Actualiza al jugador a su posicion, animación y controla los contadores
|
||||
// Actualiza todas las variables
|
||||
void update();
|
||||
|
||||
// Obtiene la puntuación del jugador
|
||||
int getScore();
|
||||
|
||||
// Asigna un valor a la puntuación del jugador
|
||||
void setScore(int score);
|
||||
|
||||
// Incrementa la puntuación del jugador
|
||||
void addScore(int score);
|
||||
|
||||
// Obtiene el valor de la variable
|
||||
bool isAlive();
|
||||
|
||||
// Establece el valor de la variable
|
||||
void setAlive(bool value);
|
||||
|
||||
// Obtiene el valor de la variable
|
||||
float getScoreMultiplier();
|
||||
|
||||
// Establece el valor de la variable
|
||||
void setScoreMultiplier(float value);
|
||||
|
||||
// Aumenta el valor de la variable hasta un máximo
|
||||
void incScoreMultiplier();
|
||||
|
||||
// Decrementa el valor de la variable hasta un mínimo
|
||||
void decScoreMultiplier();
|
||||
|
||||
// Obtiene el valor de la variable
|
||||
bool isInvulnerable();
|
||||
|
||||
// Establece el valor de la variable
|
||||
void setInvulnerable(bool value);
|
||||
|
||||
// Obtiene el valor de la variable
|
||||
bool getInvulnerableTimer();
|
||||
|
||||
// Establece el valor de la variable
|
||||
void setInvulnerableTimer(Uint16 value);
|
||||
|
||||
// Actualiza el valor de la variable
|
||||
void updateInvulnerableTimer();
|
||||
|
||||
// Obtiene el valor de la variable
|
||||
bool hasExtraHit();
|
||||
|
||||
// Concede un toque extra al jugador
|
||||
void giveExtraHit();
|
||||
|
||||
// Quita el toque extra al jugador
|
||||
void removeExtraHit();
|
||||
|
||||
// Obtiene el circulo de colisión
|
||||
Circle &getCollider();
|
||||
// Dibuja el objeto
|
||||
void render();
|
||||
|
||||
private:
|
||||
// Posición X, Y del jugador
|
||||
float mPosX;
|
||||
int mPosY;
|
||||
|
||||
// Altura y anchura del jugador
|
||||
Uint8 mWidth;
|
||||
Uint8 mHeight;
|
||||
|
||||
// Velocidad X, Y del jugador
|
||||
float mVelX;
|
||||
int mVelY;
|
||||
|
||||
// Velocidad base del jugador
|
||||
float mBaseSpeed;
|
||||
|
||||
// Contador durante el cual no puede disparar
|
||||
int mCooldown;
|
||||
|
||||
// Vidas actuales del jugador
|
||||
Uint8 mLives;
|
||||
|
||||
// Vidas iniciales del jugador
|
||||
Uint8 mStartingLives;
|
||||
|
||||
// Puntos del jugador
|
||||
Uint32 mScore;
|
||||
|
||||
// Multiplicador de puntos
|
||||
float mScoreMultiplier;
|
||||
|
||||
// Estado del jugador
|
||||
Uint8 mStatusWalking;
|
||||
Uint8 mStatusFiring;
|
||||
|
||||
// Indica si el jugador está vivo
|
||||
bool mAlive;
|
||||
|
||||
// Indica si el jugador es invulnerable
|
||||
bool mInvulnerable;
|
||||
|
||||
// Temporizador para la invulnerabilidad
|
||||
Uint16 mInvulnerableTimer;
|
||||
|
||||
// Indica si el jugador tiene un toque extra
|
||||
bool mExtraHit;
|
||||
|
||||
// Sprite para dibujar al jugador en pantalla
|
||||
AnimatedSprite *mSpriteLegs;
|
||||
AnimatedSprite *mSpriteBody;
|
||||
|
||||
// Circulo de colisión del jugador
|
||||
Circle mCollider;
|
||||
|
||||
// Actualiza el circulo de colisión a la posición del jugador
|
||||
void shiftColliders();
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user