120 lines
2.1 KiB
C++
120 lines
2.1 KiB
C++
#pragma once
|
|
|
|
#include "spriteanimated.h"
|
|
#include "const.h"
|
|
#include "globals.h"
|
|
|
|
#ifndef PLAYER_H
|
|
#define PLAYER_H
|
|
|
|
// The player
|
|
class Player
|
|
{
|
|
public:
|
|
// Constructor
|
|
Player(SDL_Renderer *gRenderer);
|
|
|
|
// DEstructor
|
|
~Player();
|
|
|
|
// Iniciador
|
|
void init();
|
|
|
|
// Comprueba la entrada (teclado, gamepad) y actua en consecuencia
|
|
void checkInput(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 setStatus(int 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
|
|
void update();
|
|
|
|
// Obtiene la puntuación del jugador
|
|
int getScore();
|
|
|
|
// Establece la puntuación del jugador
|
|
void setScore(int score);
|
|
|
|
// Añade a la puntuación del jugador
|
|
void addScore(int score);
|
|
|
|
// Obtiene el circulo de colisión
|
|
Circle &getCollider();
|
|
|
|
private:
|
|
// El renderizador de la ventana
|
|
SDL_Renderer *gRenderer;
|
|
|
|
LTexture *gPlayerTexture;
|
|
|
|
// 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
|
|
int mScore;
|
|
|
|
// Estado del jugador
|
|
Uint8 mStatus;
|
|
|
|
// Sprite para dibujar al jugador en pantalla
|
|
SpriteAnimated mSprite;
|
|
|
|
// Circulo de colisión del jugador
|
|
Circle mCollider;
|
|
|
|
// Actualiza el circulo de colisión a la posición del jugador
|
|
void shiftColliders();
|
|
};
|
|
|
|
#endif |