<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def move_emitters(self):
 """ Move each emitter by it's velocity. Emmitters that move off the ends and are not wrapped get sacked. """

        moved_emitters = []
        for e_pos, e_dir, e_vel, e_range, e_color, e_pal in self.emitters:

            e_pos = e_pos + e_vel
            if e_vel > 0:
                if e_pos >= (self._end + 1):
                    if self.wrap:
                        e_pos = e_pos - (self._end + 1) + self._start
                    else:
                        continue  # Sacked
            else:
                if e_pos < self._start:
                    if self.wrap:
                        e_pos = e_pos + self._end + 1 + self._start
                    else:
                        continue  # Sacked

            moved_emitters.append(
                (e_pos, e_dir, e_vel, e_range, e_color, e_pal))

        self.emitters = moved_emitters