The Particle class is the class we will use to represent the individual particles that are emitted by our particle system. The Particles class will need to be created with a constructor and later updated with an Update function used to modify the defining attributes of the particle. There will be a Spawn function used to activate the Particle, a Move function to move the particle through its life cycle eventually deactivating it, and a Render function that will perform the SDL rendering tasks required to draw the particle to the canvas. Here is what the Particle class looks like in our game.hpp file:
class Particle {
public:
bool m_active;
bool m_alpha_fade;
SDL_Texture *m_sprite_texture;
int m_ttl;
Uint32 m_life_time;
float m_acceleration;
float m_alpha;
Point m_position;
Point m_velocity;
...