# HG changeset patch # User Jeremy Thurgood # Date 1315743955 -7200 # Node ID 67218082cdbbf206b883cd3e15704c3dfe653ea1 # Parent cccf1675731cd950ee9132bf1603b2096ee41312 More level non-functionality. diff -r cccf1675731c -r 67218082cdbb mamba/level.py --- 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