- obstacles = {}
- for yxyx in [t.position for t in things if t.blocking]:
- if yxyx == source_center:
- continue
- if yxyx[0] not in obstacles:
- obstacles[yxyx[0]] = []
- obstacles[yxyx[0]] += [yxyx[1]]
- for yx in self: # TODO: iter and source_yxyx expensive, cache earlier?