Mercurial > mamba
changeset 31:67218082cdbb
More level non-functionality.
author | Jeremy Thurgood <firxen@gmail.com> |
---|---|
date | Sun, 11 Sep 2011 14:25:55 +0200 |
parents | cccf1675731c |
children | d6a882507f51 |
files | mamba/level.py |
diffstat | 1 files changed, 19 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/mamba/level.py Sun Sep 11 14:20:36 2011 +0200 +++ b/mamba/level.py Sun Sep 11 14:25:55 2011 +0200 @@ -23,20 +23,31 @@ else: self.image = load_image(image_path) + def set_tile_pos(self, tile_pos): + pos = (tile_pos[0] * TILE_SIZE[0], + tile_pos[1] * TILE_SIZE[1]) + self.rect = self.image.get_rect().move(pos) + class Tileset(object): def __init__(self, tileset_name): self.name = tileset_name - self.tiles = {} + self.load_tiles() def load_tiles(self): + self.tiles = {} for k, v in TILE_MAP.items(): if v: v = 'tiles/%s/%s.png' % (self.name, v) - self.tiles[k] = TileSprite(v) + self.tiles[k] = v def __getitem__(self, key): - return self.tiles[key] + return TileSprite(self.tiles[key]) + + def get_tile(self, key, tile_pos): + tile = self[key] + tile.set_tile_pos(tile_pos) + return tile class Level(object): @@ -46,12 +57,15 @@ def load_level_data(self): """ - This file format it potentially yucky. + This file format is potentially yucky. """ level_data = load_file('levels/%s.txt' % (self.level_name,)) - tileset_name = level_data.readline() + tileset_name = level_data.readline().strip() self.tileset = Tileset(tileset_name) tiles_ascii = level_data.readlines() + 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