Mercurial > mamba
comparison mamba/level.py @ 317:e89702425a73
Add support for playing music to levels
author | Neil Muller <drnlmuller@gmail.com> |
---|---|
date | Fri, 16 Sep 2011 19:30:07 +0200 |
parents | b970f717479b |
children | 0c25bca380de |
comparison
equal
deleted
inserted
replaced
316:cd544a311f11 | 317:e89702425a73 |
---|---|
97 """ | 97 """ |
98 level_data = load_file('levels/%s.txt' % (self.level_name,)) | 98 level_data = load_file('levels/%s.txt' % (self.level_name,)) |
99 self.name = level_data.readline().strip() | 99 self.name = level_data.readline().strip() |
100 tileset_name = level_data.readline().strip() | 100 tileset_name = level_data.readline().strip() |
101 self.tileset = Tileset(tileset_name) | 101 self.tileset = Tileset(tileset_name) |
102 self.background_track = level_data.readline().strip() | |
102 tiles_ascii = [line.strip() for line in level_data.readlines()] | 103 tiles_ascii = [line.strip() for line in level_data.readlines()] |
103 try: | 104 try: |
104 end = tiles_ascii.index("end") | 105 end = tiles_ascii.index("end") |
105 except ValueError: | 106 except ValueError: |
106 raise InvalidMapError('Missing "end" marker in level') | 107 raise InvalidMapError('Missing "end" marker in level') |
114 def save_level(self): | 115 def save_level(self): |
115 """Save the current state of the level""" | 116 """Save the current state of the level""" |
116 save_file = load_file('levels/%s.txt' % (self.level_name,), 'wb') | 117 save_file = load_file('levels/%s.txt' % (self.level_name,), 'wb') |
117 save_file.write('%s\n' % self.name) | 118 save_file.write('%s\n' % self.name) |
118 save_file.write('%s\n' % self.tileset.name) | 119 save_file.write('%s\n' % self.tileset.name) |
120 save_file.write('%s\n' % self.background_track) | |
119 self.update_tiles_ascii() | 121 self.update_tiles_ascii() |
120 for tile_row in self.tiles_ascii: | 122 for tile_row in self.tiles_ascii: |
121 save_file.write('%s\n' % tile_row) | 123 save_file.write('%s\n' % tile_row) |
122 save_file.write('end\n') | 124 save_file.write('end\n') |
123 for sprite_ascii in self.sprites_ascii: | 125 for sprite_ascii in self.sprites_ascii: |