forked from jaildesigner-jailgames/jaildoctors_dilemma
Redistribuits els .cpp en carpetes
Actualitzat cmake Modificats els include de SDL2 a SDL3
This commit is contained in:
@@ -1,60 +1,65 @@
|
||||
#pragma once
|
||||
|
||||
#include <SDL2/SDL_rect.h> // Para SDL_Rect, SDL_Point
|
||||
#include <SDL2/SDL_stdinc.h> // Para Uint8
|
||||
#include <memory> // Para shared_ptr
|
||||
#include <string> // Para string
|
||||
#include <vector> // Para vector
|
||||
#include <SDL3/SDL_rect.h> // Para SDL_Rect, SDL_Point
|
||||
#include <SDL3/SDL_stdinc.h> // Para Uint8
|
||||
|
||||
#include <memory> // Para shared_ptr
|
||||
#include <string> // Para string
|
||||
#include <vector> // Para vector
|
||||
class SSprite;
|
||||
|
||||
struct ItemData
|
||||
{
|
||||
std::string tile_set_file; // Ruta al fichero con los gráficos del item
|
||||
int x; // Posición del item en pantalla
|
||||
int y; // Posición del item en pantalla
|
||||
int tile; // Número de tile dentro de la textura
|
||||
int counter; // Contador inicial. Es el que lo hace cambiar de color
|
||||
Uint8 color1; // Uno de los dos colores que se utiliza para el item
|
||||
Uint8 color2; // Uno de los dos colores que se utiliza para el item
|
||||
struct ItemData {
|
||||
std::string tile_set_file; // Ruta al fichero con los gráficos del item
|
||||
int x; // Posición del item en pantalla
|
||||
int y; // Posición del item en pantalla
|
||||
int tile; // Número de tile dentro de la textura
|
||||
int counter; // Contador inicial. Es el que lo hace cambiar de color
|
||||
Uint8 color1; // Uno de los dos colores que se utiliza para el item
|
||||
Uint8 color2; // Uno de los dos colores que se utiliza para el item
|
||||
|
||||
// Constructor
|
||||
ItemData() : x(0), y(0), tile(0), counter(0), color1(), color2() {}
|
||||
// Constructor
|
||||
ItemData()
|
||||
: x(0),
|
||||
y(0),
|
||||
tile(0),
|
||||
counter(0),
|
||||
color1(),
|
||||
color2() {}
|
||||
};
|
||||
|
||||
class Item
|
||||
{
|
||||
private:
|
||||
// Constantes
|
||||
static constexpr int ITEM_SIZE_ = 8;
|
||||
class Item {
|
||||
private:
|
||||
// Constantes
|
||||
static constexpr int ITEM_SIZE_ = 8;
|
||||
|
||||
// Objetos y punteros
|
||||
std::shared_ptr<SSprite> sprite_; // SSprite del objeto
|
||||
// Objetos y punteros
|
||||
std::shared_ptr<SSprite> sprite_; // SSprite del objeto
|
||||
|
||||
// Variables
|
||||
std::vector<Uint8> color_; // Vector con los colores del objeto
|
||||
int counter_; // Contador interno
|
||||
SDL_Rect collider_; // Rectangulo de colisión
|
||||
int change_color_speed; // Cuanto mas alto, mas tarda en cambiar de color
|
||||
// Variables
|
||||
std::vector<Uint8> color_; // Vector con los colores del objeto
|
||||
int counter_; // Contador interno
|
||||
SDL_Rect collider_; // Rectangulo de colisión
|
||||
int change_color_speed; // Cuanto mas alto, mas tarda en cambiar de color
|
||||
|
||||
public:
|
||||
// Constructor
|
||||
explicit Item(ItemData item);
|
||||
public:
|
||||
// Constructor
|
||||
explicit Item(ItemData item);
|
||||
|
||||
// Destructor
|
||||
~Item() = default;
|
||||
// Destructor
|
||||
~Item() = default;
|
||||
|
||||
// Pinta el objeto en pantalla
|
||||
void render();
|
||||
// Pinta el objeto en pantalla
|
||||
void render();
|
||||
|
||||
// Actualiza las variables del objeto
|
||||
void update() { counter_++; }
|
||||
// Actualiza las variables del objeto
|
||||
void update() { counter_++; }
|
||||
|
||||
// Obtiene el rectangulo de colision del objeto
|
||||
SDL_Rect &getCollider() { return collider_; }
|
||||
// Obtiene el rectangulo de colision del objeto
|
||||
SDL_Rect& getCollider() { return collider_; }
|
||||
|
||||
// Obtiene su ubicación
|
||||
SDL_Point getPos();
|
||||
// Obtiene su ubicación
|
||||
SDL_Point getPos();
|
||||
|
||||
// Asigna los colores del objeto
|
||||
void setColors(Uint8 col1, Uint8 col2);
|
||||
// Asigna los colores del objeto
|
||||
void setColors(Uint8 col1, Uint8 col2);
|
||||
};
|
||||
Reference in New Issue
Block a user