canvi de pc enmig de la enfangà

This commit is contained in:
2025-02-25 13:18:56 +01:00
parent 817140825a
commit c9da5135b2
29 changed files with 878 additions and 1042 deletions

View File

@@ -4,6 +4,7 @@
#include <SDL2/SDL_render.h> // Para SDL_Renderer
#include <string> // Para basic_string, string
#include "utils.h" // Para palette_e, color_t
#include <memory> // Para shared_ptr
class AnimatedSprite;
struct animatedSprite_t;
@@ -12,7 +13,7 @@ struct enemy_t
{
SDL_Renderer *renderer; // El renderizador de la ventana
animatedSprite_t *animation; // Puntero a las animaciones del enemigo
std::string animationString; // Ruta al fichero con la animación
std::string animation_path; // Ruta al fichero con la animación
int w; // Anchura del enemigo
int h; // Altura del enemigo
float x; // Posición inicial en el eje X
@@ -34,19 +35,19 @@ class Enemy
{
private:
// Objetos y punteros
AnimatedSprite *sprite; // Sprite del enemigo
std::shared_ptr<AnimatedSprite> sprite_; // Sprite del enemigo
// Variables
Color color; // Color del enemigo
std::string colorString; // Color del enemigo en formato texto
Palette palette; // Paleta de colores
int x1; // Limite izquierdo de la ruta en el eje X
int x2; // Limite derecho de la ruta en el eje X
int y1; // Limite superior de la ruta en el eje Y
int y2; // Limite inferior de la ruta en el eje Y
SDL_Rect collider; // Caja de colisión
bool doFlip; // Indica si el enemigo hace flip al terminar su ruta
bool mirror; // Indica si el enemigo se dibuja volteado verticalmente
Color color_; // Color del enemigo
std::string color_string_; // Color del enemigo en formato texto
Palette palette_; // Paleta de colores
int x1_; // Limite izquierdo de la ruta en el eje X
int x2_; // Limite derecho de la ruta en el eje X
int y1_; // Limite superior de la ruta en el eje Y
int y2_; // Limite inferior de la ruta en el eje Y
SDL_Rect collider_; // Caja de colisión
bool should_flip_; // Indica si el enemigo hace flip al terminar su ruta
bool should_mirror_; // Indica si el enemigo se dibuja volteado verticalmente
// Comprueba si ha llegado al limite del recorrido para darse media vuelta
void checkPath();
@@ -56,7 +57,7 @@ public:
Enemy(enemy_t enemy);
// Destructor
~Enemy();
~Enemy() = default;
// Pinta el enemigo en pantalla
void render();