- def set_map_size(self, yx):
- y, x = yx
- self.map_size = (y, x)
- self.map_ = ''
- for y in range(self.map_size[0]):
- self.map_ += '?' * self.map_size[1]
-
- def set_map_line(self, y, line):
- width_map = self.map_size[1]
- if y >= self.map_size[0]:
- raise ArgError('too large row number %s' % y)
- width_line = len(line)
- if width_line > width_map:
- raise ArgError('too large map line width %s' % width_line)
- self.map_ = self.map_[:y * width_map] + line + \
- self.map_[(y + 1) * width_map:]
-
- def get_thing(self, i):
- for thing in self.things:
- if i == thing.id_:
- return thing
- t = Thing(self, i, '?', [0,0])
- self.things += [t]
- return t