changeset 163:41e8d4ce3af2

TileSprites are less magic.
author Jeremy Thurgood <firxen@gmail.com>
date Tue, 13 Sep 2011 23:49:33 +0200
parents 7fbbe27120a9
children a904c1c55f92
files mamba/level.py mamba/sprites.py
diffstat 2 files changed, 10 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/mamba/level.py	Tue Sep 13 23:24:20 2011 +0200
+++ b/mamba/level.py	Tue Sep 13 23:49:33 2011 +0200
@@ -35,7 +35,7 @@
     }
 
 THING_MAP = {
-    'a': mktile(sprites.BaseSprite, image_name='red'),
+    'a': mktile(sprites.TileSprite, image_name='red'),
     }
 
 
@@ -46,7 +46,7 @@
 
     def load_tiles(self):
         self.tiles = {}
-        self.floor = sprites.TileSprite(tileset=self.name,
+        self.floor = sprites.TileSprite('.', tileset=self.name,
                                         image_name='floor').image
         for name, value in TILE_MAP.items():
             if value is not None:
--- a/mamba/sprites.py	Tue Sep 13 23:24:20 2011 +0200
+++ b/mamba/sprites.py	Tue Sep 13 23:49:33 2011 +0200
@@ -82,11 +82,8 @@
     variants_class = InvariantSpriteImageVariants
     variants = None
 
-    def __init__(self, tile_char=None, tileset=None, image_name=None,
-                 mutators=(), solid=False):
+    def __init__(self, tileset=None, image_name=None, mutators=()):
         super(BaseSprite, self).__init__()
-        self.tile_char = tile_char
-        self.solid = solid
         if tileset is not None:
             self.tileset = tileset
         if image_name is not None:
@@ -109,16 +106,17 @@
     def use_variant(self, *args):
         self.image = self.load_image(*self.get_variant(*args))
 
+
+class TileSprite(BaseSprite):
+    def __init__(self, tile_char, solid=False, **kw):
+        super(TileSprite, self).__init__(**kw)
+        self.tile_char = tile_char
+        self.solid = solid
+
     def get_solid(self, snake_mutations):
         return self.solid
 
 
-class TileSprite(BaseSprite):
-    def __init__(self, tileset, **kw):
-        kw['tileset'] = tileset
-        super(TileSprite, self).__init__(**kw)
-
-
 class SingleImageTileSprite(TileSprite):
 
     image_name = None  # subclasses will override this