changeset 274:b970f717479b

Rework things to make updating tiles_ascii easier
author Neil Muller <drnlmuller@gmail.com>
date Thu, 15 Sep 2011 17:40:35 +0200
parents dcd0642e12e0
children 51bec5e6191e
files mamba/level.py
diffstat 1 files changed, 14 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/mamba/level.py	Thu Sep 15 17:35:27 2011 +0200
+++ b/mamba/level.py	Thu Sep 15 17:40:35 2011 +0200
@@ -116,17 +116,24 @@
         save_file = load_file('levels/%s.txt' % (self.level_name,), 'wb')
         save_file.write('%s\n' % self.name)
         save_file.write('%s\n' % self.tileset.name)
-        for tile_row in self.tiles:
-            for tile in tile_row:
-                if tile:
-                    save_file.write(tile.tile_char)
-                else:
-                    save_file.write('.')
-            save_file.write('\n')
+        self.update_tiles_ascii()
+        for tile_row in self.tiles_ascii:
+            save_file.write('%s\n' % tile_row)
         save_file.write('end\n')
         for sprite_ascii in self.sprites_ascii:
             save_file.write('%s\n' % sprite_ascii)
 
+    def update_tiles_ascii(self):
+        """Resync tiles and tile_ascii"""
+        for i, tile_row in enumerate(self.tiles):
+            new_row = []
+            for tile in tile_row:
+                if tile:
+                    new_row.append(tile.tile_char)
+                else:
+                    new_row.append('.')
+            self.tiles_ascii[i] = ''.join(new_row)
+
     def setup_level(self, tiles_ascii, sprites_ascii):
         self.sprites = RenderUpdates()
         self.setup_tiles(tiles_ascii)