X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;f=game_common.py;h=0598dfa77e61f715c224a84f7cedaaedb158664b;hb=deb2d17307e58864871f2da9bd806f01bfb5fa67;hp=6a77d9c6fa0c5062f73a1b089089416bc054c82e;hpb=17984bc886e3a233b828a53354467bbda2c43692;p=plomrogue2-experiments diff --git a/game_common.py b/game_common.py index 6a77d9c..0598dfa 100644 --- a/game_common.py +++ b/game_common.py @@ -27,11 +27,11 @@ class World: self.terrain_map = self.terrain_map[:y * width_map] + line + \ self.terrain_map[(y + 1) * width_map:] - def get_thing(self, i): + def get_thing(self, id_): for thing in self.things: - if i == thing.id_: + if id_ == thing.id_: return thing - t = self.Thing(self, i) + t = self.Thing(self, id_) self.things += [t] return t @@ -43,3 +43,25 @@ class Thing: self.id_ = id_ self.type_ = '?' self.position = [0,0] + + +class Commander: + + def cmd_MAP_SIZE(self, yx): + """Set self.map_size to yx, redraw self.terrain_map as '?' cells.""" + self.world.set_map_size(yx) + cmd_MAP_SIZE.argtypes = 'yx_tuple:nonneg' + + def cmd_TERRAIN_LINE(self, y, terrain_line): + self.world.set_map_line(y, terrain_line) + cmd_TERRAIN_LINE.argtypes = 'int:nonneg string' + + 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'