+
+ def save(self):
+
+ def write(f, msg):
+ f.write(msg + '\n')
+
+ with open(self.io.save_file, 'w') as f:
+ write(f, 'TURN %s' % self.turn)
+ write(f, 'MAP %s' % (self.map_geometry.size,))
+ for y, line in self.map.lines():
+ write(f, 'MAP_LINE %5s %s' % (y, quote(line)))
+ for yx in self.annotations:
+ write(f, 'ANNOTATE %s %s' % (yx, quote(self.annotations[yx])))
+ for yx in self.portals:
+ write(f, 'PORTAL %s %s' % (yx, self.portals[yx]))
+
+ def new_world(self, size):
+ self.map_geometry = MapGeometrySquare(YX(size.y, size.x))
+ self.map = Map(self.map_geometry.size)
+ self.annotations = {}