Mercurial > mamba
changeset 56:e730ec8b82e8
Some doors.
author | Jeremy Thurgood <firxen@gmail.com> |
---|---|
date | Sun, 11 Sep 2011 16:12:32 +0200 |
parents | 671d027f1b71 |
children | cd5ad2c45e2d |
files | data/levels/dev.txt data/tiles/dev/door_blue.png data/tiles/dev/door_red.png mamba/level.py mamba/sprites.py |
diffstat | 5 files changed, 22 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/data/levels/dev.txt Sun Sep 11 16:04:09 2011 +0200 +++ b/data/levels/dev.txt Sun Sep 11 16:12:32 2011 +0200 @@ -3,7 +3,7 @@ X........X X........X X........X -X........X +XXBXXXXRXX X........X X...a....X X........X
--- a/mamba/level.py Sun Sep 11 16:04:09 2011 +0200 +++ b/mamba/level.py Sun Sep 11 16:12:32 2011 +0200 @@ -5,16 +5,18 @@ from pygame.sprite import RenderUpdates from mamba.data import load_file -from mamba.sprites import tile_sizify, TileSprite, ThingSprite +from mamba.sprites import tile_sizify, TileSprite, ThingSprite, DoorSprite TILE_MAP = { '.': None, - 'X': 'randomtile', + 'X': (TileSprite, 'randomtile'), + 'R': (DoorSprite, 'red'), + 'B': (DoorSprite, 'blue'), } THING_MAP = { - 'a': (ThingSprite, 'snake-head-r'), + 'a': (ThingSprite, 'snake/snake-head-r'), } @@ -27,7 +29,7 @@ self.tiles = {} for name, value in TILE_MAP.items(): if value is not None: - value = (TileSprite, self.name, value) + value = (value[0], self.name) + value[1:] self.tiles[name] = value self.tiles.update(THING_MAP)
--- a/mamba/sprites.py Sun Sep 11 16:04:09 2011 +0200 +++ b/mamba/sprites.py Sun Sep 11 16:12:32 2011 +0200 @@ -13,7 +13,12 @@ class BaseSprite(Sprite): tileset = 'common' - def load_image(self, image_name, tileset=None): + def __init__(self, image_name, *groups): + super(BaseSprite, self).__init__(*groups) + self.image_name = image_name + self.load_image(image_name, self.tileset) + + def load_image(self, image_name, tileset): if tileset is None: tileset = self.tileset self.image = load_image('tiles/%s/%s.png' % (tileset, image_name)) @@ -24,11 +29,15 @@ class TileSprite(BaseSprite): def __init__(self, tileset_name, image_name, *groups): - super(TileSprite, self).__init__(*groups) - self.load_image(image_name, tileset_name) + self.tileset = tileset_name + super(TileSprite, self).__init__(image_name, *groups) class ThingSprite(BaseSprite): - def __init__(self, image_name, *groups): - super(ThingSprite, self).__init__(*groups) - self.load_image(image_name) + pass + + +class DoorSprite(TileSprite): + def __init__(self, tileset_name, colour, *groups): + image_name = 'door_%s' % (colour,) + super(DoorSprite, self).__init__(tileset_name, image_name, *groups)