    def __init__(self, screen, x, y, count, new_particle, spawn, life_time,
                 blend=False):
        """
        :param screen: The screen to which the particle system will be rendered.
        :param x: The x location of origin of the particle system.
        :param y: The y location of origin of the particle system.
        :param count: The count of new particles to spawn on each frame.
        :param new_particle: The function to call to spawn a new particle.
        :param spawn: The number of frames for which to spawn particles.
        :param life_time: The life time of the whole particle system.
        :param blend: Whether to blend particles or not.  A blended system
            picks the colour based on the number of overlapping particles,
            while an unblended one picks the colour based on a the state of
            Each Particle individually as they are drawn.
            Defaults to False.
        """
        super().__init__()
        self._screen = screen
        self._x = x
        self._y = y
        self._count = count
        self._new_particle = new_particle
        self._life_time = life_time
        self.particles = []
        self.time_left = spawn
        self._blend = blend
:param screen: The screen to which the particle system will be rendered.
:param x: The x location of origin of the particle system.
:param y: The y location of origin of the particle system.
:param count: The count of new particles to spawn on each frame.
:param new_particle: The function to call to spawn a new particle.
:param spawn: The number of frames for which to spawn particles.
:param life_time: The life time of the whole particle system.
:param blend: Whether to blend particles or not.  A blended system
picks the colour based on the number of overlapping particles,
while an unblended one picks the colour based on a the state of
Each Particle individually as they are drawn.
Defaults to False.
asciimatics/particles.py