def _collision(self, particle):
        # Already calculated new position, so go back in history
        _, x, y, _, _, _ = particle.last()

        # Note that dx = dy, so simply calculation of next point to check.
        current_char = None
        dx = 0
        for dx in range(min(1, int(particle.dx))):
            next_point = self._screen.get_from(int(x + dx), int(y + dx))
            if next_point is None:
                current_char = None
                break
            current_char = next_point[0]
            if current_char != 32:
                break

        # If there's a collision, kill this drop and make a splash.
        if ([32, None, ord("`"), ord("\\"), ord("v")] not in current_char or
                particle.y + dx >= self._screen.height):
            particle.time = particle.life_time
            self._active_systems.append(
                Splash(self._screen, x + dx - 1, y + dx - 1))
dataset/ETHPy150Open peterbrittain/asciimatics/asciimatics/particles.py/Rain._collision/swapped operands of `not in`