changeset 76:ee5acbf5df18

nicer saves
author Radomir Dopieralski <sheep-devel@sheep.art.pl>
date Sat, 04 Jan 2014 13:59:00 +0100
parents 798640df3874
children 64c1e6599e37
files fujo/level.py fujo/saves.py
diffstat 2 files changed, 12 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/fujo/level.py	Sat Jan 04 13:40:05 2014 +0100
+++ b/fujo/level.py	Sat Jan 04 13:59:00 2014 +0100
@@ -177,9 +177,11 @@
         data.update({
             'depth': self.depth,
             'size': self.size,
-            'floor': self.floor,
-            'walls': self.walls,
-            'explored': self.explored,
+            'floor': [''.join('#.,:='[f] for f in row)
+                      for row in self.floor],
+            'walls': [''.join(' #'[w] for w in row) for row in self.walls],
+            'explored': [''.join(' xX'[x] for x in row)
+                         for row in self.explored],
             'looks': self.looks,
             'rooms': self.rooms,
             'empty': self.empty,
@@ -192,9 +194,12 @@
         super(Level, self).load(data)
         self.depth = data['depth']
         self.size = data['size']
-        self.floor = data['floor']
-        self.walls = data['walls']
-        self.explored = data['explored']
+        FLOOR = {'#': 0, '.': 1, ',': 2, ':': 3, '=': 4}
+        self.floor = [[FLOOR[f] for f in row] for row in data['floor']]
+        WALL = {' ': 0, '#': 1}
+        self.walls = [[WALL[w] for w in row] for row in data['walls']]
+        EXP = {' ': 0, 'x': 1, 'X': 2}
+        self.explored = [[EXP[x] for x in row] for row in data['explored']]
         self.looks = data['looks']
         self.rooms = [tuple(room) for room in data['rooms']]
         self.empty = [tuple(empty) for empty in data['empty']]
--- a/fujo/saves.py	Sat Jan 04 13:40:05 2014 +0100
+++ b/fujo/saves.py	Sat Jan 04 13:59:00 2014 +0100
@@ -40,7 +40,7 @@
         'level': level_data,
     }
     with open(filename, 'wb') as f:
-        simplejson.dump(data, f)
+        simplejson.dump(data, f, sort_keys=True, indent=' ')
 
 
 def load():