+
+
+class CommonCommandsMixin:
+
+ def cmd_MAP(self, geometry, yx):
+ """Create new map of grid geometry, size yx and only '?' cells."""
+ legal_grids = self.map_manager.get_map_geometries()
+ if geometry not in legal_grids:
+ raise ArgError('First map argument must be one of: ' +
+ ', '.join(legal_grids))
+ self.world.new_map(geometry, yx)
+ cmd_MAP.argtypes = 'string yx_tuple:pos'
+
+ def cmd_THING_TYPE(self, i, type_):
+ t = self.world.get_thing(i)
+ t.type_ = type_
+ cmd_THING_TYPE.argtypes = 'int:nonneg string'
+
+ def cmd_THING_POS(self, i, yx):
+ t = self.world.get_thing(i)
+ t.position = list(yx)
+ cmd_THING_POS.argtypes = 'int:nonneg yx_tuple:nonneg'