changeset 21:f76c3f033772

Release early, release broken. Level stuff.
author Jeremy Thurgood <firxen@gmail.com>
date Sun, 11 Sep 2011 14:03:00 +0200
parents e882862f70b1
children a396e34476ca
files mamba/level.py mamba/widgets/level.py
diffstat 2 files changed, 40 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/mamba/level.py	Sun Sep 11 14:02:48 2011 +0200
+++ b/mamba/level.py	Sun Sep 11 14:03:00 2011 +0200
@@ -2,15 +2,28 @@
 Level for our shiny game.
 """
 
+from pygame.sprite import Sprite
+from pygame.surface import Surface
+
 from mamba.data import load_file, load_image
 
+TILE_SIZE = (20, 20)
 
 TILE_MAP = {
-    '.': 'empty',
+    '.': None,
     'a': 'randomtile',
     }
 
 
+class TileSprite(Sprite):
+    def __init__(self, image_path, *groups):
+        super(TileSprite, self).__init__(*groups)
+        if image_path is None:
+            self.image = Surface(TILE_SIZE)
+        else:
+            self.image = load_image(image_path)
+
+
 class Tileset(object):
     def __init__(self, tileset_name):
         self.name = tileset_name
@@ -18,11 +31,9 @@
 
     def load_tiles(self):
         for k, v in TILE_MAP.items():
-            if v == 'empty':
-                img = None
-            else:
-                img = load_image('tiles/%s/%s.png' % (self.name, v))
-            self.tiles[k] = img
+            if v:
+                v = 'tiles/%s/%s.png' % (self.name, v)
+            self.tiles[k] = TileSprite(v)
 
     def __getitem__(self, key):
         return self.tiles[key]
@@ -38,8 +49,11 @@
         This file format it potentially yucky.
         """
         level_data = load_file('levels/%s.txt' % (self.level_name,))
-        self.tileset_name = level_data.readline()
-        self.tiles = Tileset(self.tileset_name)
+        tileset_name = level_data.readline()
+        self.tileset = Tileset(tileset_name)
         tiles_ascii = level_data.readlines()
-        print "Tileset:", self.tileset_name
+        print "Tileset:", self.tileset.name
         print "Tiles:", tiles_ascii
+
+    def get_size(self):
+        pass
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mamba/widgets/level.py	Sun Sep 11 14:03:00 2011 +0200
@@ -0,0 +1,17 @@
+from pygame.rect import Rect
+
+from mamba.widgets import Widget
+
+
+class LevelWidget(Widget):
+    def __init__(self, level, offset=(0, 0)):
+        level_rect = Rect(offset, level.get_size())
+        super(LevelWidget, self).__init__(level_rect)
+
+    def do_draw(self, surface):
+        # TODO: Implement
+        pass
+
+    def do_event(self, event):
+        # TODO: Implement
+        pass