#pragma once #include #include "sprite.h" #include "texture.h" #include "defines.h" class Ball { private: std::unique_ptr sprite_; // Sprite para pintar la clase SDL_FRect pos_; // Posición y tamaño de la pelota float vx_, vy_; // Velocidad float gravity_force_; // Gravedad Color color_; // Color de la pelota bool on_floor_; // Indica si la pelota está ya en el suelo bool stopped_; // Indica si la pelota ha terminado de moverse; float loss_; // Coeficiente de rebote. Pérdida de energía en cada rebote public: // Constructor Ball(float x, float vx, float vy, Color color, std::shared_ptr texture); // Destructor ~Ball() = default; // Actualiza la lógica de la clase void update(); // Pinta la clase void render(); // Modifica la velocidad void modVel(float vx, float vy); // Cambia la gravedad void switchGravity(); };