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: