home · contact · privacy
Add more interesting map visibility.
authorChristian Heller <c.heller@plomlompom.de>
Sat, 12 Jan 2019 21:37:35 +0000 (22:37 +0100)
committerChristian Heller <c.heller@plomlompom.de>
Sat, 12 Jan 2019 21:37:35 +0000 (22:37 +0100)
server_/game.py

index 4f31dc1fb5ff397665fa3b71143f4961d92085cb..7e1524716585c44ad9c88fd9712566aeadfe4ac5 100644 (file)
@@ -145,7 +145,18 @@ class Thing(game_common.Thing):
             self.decide_task()
 
     def get_visible_map(self):
-        return Map(self.world.map_.size, self.world.map_.terrain)
+        size = self.world.map_.size
+        m = Map(size, '?'*size[0]*size[1])
+        y_me = self.position[0]
+        x_me = self.position[1]
+        for y in range(m.size[0]):
+            if y in (y_me - 1, y_me, y_me + 1):
+                for x in range(m.size[1]):
+                    if x in (x_me - 1, x_me, x_me + 1):
+                        pos = y * size[1] + x
+                        c = self.world.map_.terrain[pos]
+                        m.terrain = m.terrain[:pos] + c + m.terrain[pos+1:]
+        return m
 
 
 class Commander():