+ self.source_map_segment = ''
+ 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:
+ big_yx, little_yx = self.source_yxyx(yx)
+ if big_yx in obstacles and little_yx in obstacles[big_yx]:
+ self.source_map_segment += 'X'
+ else:
+ self.source_map_segment += self.source_maps[big_yx][little_yx]