111 lines
2.0 KiB
C++
111 lines
2.0 KiB
C++
#pragma once
|
|
|
|
#include "struct.h"
|
|
#include "spriteanimated.h"
|
|
|
|
#ifndef PLAYER_H
|
|
#define PLAYER_H
|
|
|
|
//The player
|
|
class Player
|
|
{
|
|
public:
|
|
//Constructor
|
|
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:
|
|
//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 |