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'