forked from jaildesigner-jailgames/jaildoctors_dilemma
60 lines
1.4 KiB
C++
60 lines
1.4 KiB
C++
#pragma once
|
|
#include "ifdefs.h"
|
|
#include "const.h"
|
|
#include "utils.h"
|
|
#include "asset.h"
|
|
#include "animatedsprite.h"
|
|
#include "input.h"
|
|
#include <string>
|
|
|
|
#ifndef PLAYER_H
|
|
#define PLAYER_H
|
|
|
|
#define VX 0.6
|
|
|
|
// Clase Player
|
|
class Player
|
|
{
|
|
private:
|
|
LTexture *texture; // Textura con los graficos del enemigo
|
|
AnimatedSprite *sprite; // Sprite del enemigo
|
|
Input *input; // Objeto para gestyionar la entrada
|
|
|
|
SDL_Renderer *renderer; // El renderizador de la ventana
|
|
Asset *asset; // Objeto con la ruta a todos los ficheros de recursos
|
|
color_t color; // Color del jugador
|
|
|
|
bool onBorder; // Indica si el jugador esta en uno de los cuatro bordes de la pantalla
|
|
int border; // Indica en cual de los cuatro bordes se encuentra
|
|
|
|
// Comprueba las entradas y modifica variables
|
|
void checkInput();
|
|
|
|
// Comprueba si se halla en alguno de los cuatro bordes
|
|
void checkBorders();
|
|
|
|
public:
|
|
// Constructor
|
|
Player(std::string _tileset, SDL_Renderer *_renderer, Asset *_asset, Input *_input);
|
|
|
|
// Destructor
|
|
~Player();
|
|
|
|
// Pinta el enemigo en pantalla
|
|
void draw();
|
|
|
|
// Actualiza las variables del objeto
|
|
void update();
|
|
|
|
// Indica si el jugador esta en uno de los cuatro bordes de la pantalla
|
|
bool getOnBorder();
|
|
|
|
// Indica en cual de los cuatro bordes se encuentra
|
|
int getBorder();
|
|
|
|
// Cambia al jugador de un borde al opuesto. Util para el cambio de pantalla
|
|
void switchBorders();
|
|
};
|
|
|
|
#endif
|