Mercurial > mamba
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