changeset 37:9a0ae29c7f5e

Tiles *and* things.
author Jeremy Thurgood <firxen@gmail.com>
date Sun, 11 Sep 2011 14:49:07 +0200
parents 908c9d5597f9
children 047273a63054
files data/levels/dev.txt mamba/level.py
diffstat 2 files changed, 25 insertions(+), 19 deletions(-) [+]
line wrap: on
line diff
--- a/data/levels/dev.txt	Sun Sep 11 14:46:58 2011 +0200
+++ b/data/levels/dev.txt	Sun Sep 11 14:49:07 2011 +0200
@@ -1,11 +1,11 @@
 dev
-aaaaaaaaaa
-a........a
-a........a
-a........a
-a........a
-a........a
-a........a
-a........a
-a........a
-aaaaaaaaaa
+XXXXXXXXXX
+X........X
+X........X
+X........X
+X........X
+X........X
+X...a....X
+X........X
+X........X
+XXXXXXXXXX
--- a/mamba/level.py	Sun Sep 11 14:46:58 2011 +0200
+++ b/mamba/level.py	Sun Sep 11 14:49:07 2011 +0200
@@ -9,11 +9,6 @@
 
 TILE_SIZE = (20, 20)
 
-TILE_MAP = {
-    '.': None,
-    'a': 'randomtile',
-    }
-
 
 def tile_sizify(pos):
     ts_x, ts_y = TILE_SIZE
@@ -33,6 +28,16 @@
         self.rect = self.image.get_rect().move(tile_sizify(tile_pos))
 
 
+TILE_MAP = {
+    '.': None,
+    'X': 'randomtile',
+    }
+
+THING_MAP = {
+    'a': (TileSprite, 'tiles/dev/randomtile.png'),
+    }
+
+
 class Tileset(object):
     def __init__(self, tileset_name):
         self.name = tileset_name
@@ -43,10 +48,13 @@
         for k, v in TILE_MAP.items():
             if v:
                 v = 'tiles/%s/%s.png' % (self.name, v)
-            self.tiles[k] = v
+            self.tiles[k] = (TileSprite, (v,))
+        for k, v in THING_MAP.items():
+            self.tiles[k] = (v[0], v[1:])
 
     def __getitem__(self, key):
-        return TileSprite(self.tiles[key])
+        cls, args = self.tiles[key]
+        return cls(*args)
 
     def get_tile(self, key, tile_pos):
         tile = self[key]
@@ -70,8 +78,6 @@
         self.tiles = [[self.tileset.get_tile(tile, (x, y))
                        for x, tile in enumerate(row.strip())]
                       for y, row in enumerate(tiles_ascii)]
-        print "Tileset:", self.tileset.name
-        print "Tiles:", tiles_ascii
 
     def get_size(self):
         return tile_sizify((len(self.tiles[0]), len(self.tiles)))